Föreläsning 14 ”Enkel” Filhantering.

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Advertisements

Avlusning Debugger (”avlusare”) Breakpoints Watch.
INTRODUKTION TILL PROGRAMMERING
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
2I1073 Föreläsning 3 Säkerhet, filhantering och XML
Imperativ Programmering
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Filhantering Grundprincipen för filhantering Öppna filen
2D1311 Programmeringsteknik med PBL Föreläsning 4 Skolan för Datavetenskap och kommunikation.
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Programkodens uppbyggnad
Att programmera i språket Java
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 5 Python: argument från kommando-tolken
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Strömmar Vid läsning och skrivning används något som kallas strömmar.
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
Streams and File I/O Kapitel 10. Agenda Exceptions Textfiler Skriva Appenda Läsa File Sökvägar.
Föreläsning 5.  Idag  Kap 7 i Dawson  Filer  Felhantering med try…except.
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Vektorer (klassen Vector) Sortering
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Objektorienterad Modellering Programmering och Analys
Deklarera en struct som kan användas för att representera en rät linje Använd den I main för att deklarera en variabel som du initierar så att den representerar.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 4 ( ) Innehåll: -Programmerade rörledningar -Namngivna rörledningar.
OOP Objekt-orienterad programmering
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Servlets — Java på serversidan. previous next 2 Servlets Introduktion Javaservlets är en i raden av SUN:s många tillämpningar av Java. Servlets kan grovt.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 10 Stränghantering.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer.
Föreläsning 4 Klasser Och Objekt.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
0. Kod, Klassdiagram och Sekvensdiagram import java.awt.event.*; import javax.swing.*; import java.awt.*; public class TwoThreads implements ActionListener.
INTRODUKTION TILL PROGRAMMERING
Anders Sjögren Filer - långtidslagring. Anders Sjögren Filtyper i DOS talet ett ( intx=1; ) lagrat i en –textfil, (en sekvens av tecken ( bytes )) enligt.
ITK:P2 F8 Strömmar och filhantering DSV Peter Mozelius.
2D1311 Programmeringsteknik med PBL Föreläsning 4 Skolan för Datavetenskap och kommunikation.
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
TILLÄMPAD DATALOGI (TILDA) Övningsgrupp 2 Marcus Hjelm
TILLÄMPAD DATALOGI (TILDA) Övning 1 Marcus Hjelm
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Programmeringsteknik för K och Media
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 2 ( ) Innehåll: -Fildeskriptorer -Filhantering -Felhantering.
Föreläsning 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Malmö högskola Rolf Axelsson 2004/2005 DA7720 Javaprogrammering - Fortsättningskurs, 5 poäng Strömmar Filhantering Föreläsning 11.
OOP1 OOP&M del III– Föreläsning vecka 11 mer I/O serialization GUI intro.
Föreläsning 15: Exceptions & lite swing, gränssnitt
JVM Java Virtual Machine
Nätverkskommunikation
Presentationens avskrift:

Föreläsning 14 ”Enkel” Filhantering

Javaströmmar All in och utmatning av data i Java sker med hjälp av ”strömmar” Är en koppling mellan en källa och destination… … tangentbordet, skärmen, filer, nätverket Vid inmatning öppnas en ström från en källa Källa program 1 läser data Vid utmatning öppnas en ström till en källa Källa program 1 skriver data

Paketet java.io Innehåller klasser för hantering av strömmar och filer Delas in i 3 huvudgrupper Inströmmar, utströmmar och filklasser Object OutputStream InputStream Writer Reader - InputStreamReader - BufferedReader - FileReader - OutputStreamWriter - BufferedWriter - FileWriter - ObjectInputStream - ObjectOutputStream Teckenströmmar Byteströmmar

Standardströmmar i Java När ett Java program startas finns det tre fördefinierade strömmar System.in (InputStream) Inmatning från tangentbordet System.out (PrintStream) Utmatning till bildskärm System.err (PrintStream) Felutskrift till bildskärm program tangentbord InputStream int b = System.in.read(); InputStream läser en byte i taget Väldigt opraktiskt!

Filtrera Strömmar Vissa strömmar filtrerar data i en annan ström Kombinerar olika strömmar så att data flödar via ett antal filter Buffrar för mer effektiv läsning Konverterar från byte till Unicode System.in läser en byte program tangentbord InputStream InputStreamReader BufferedReader String s = input.readLine(); BufferedReader input = new BufferedReader(new InputStreamReader(System.in);

IOException Alla strömmar som läser eller skriver kan kasta någon form av Exception Måste kastas vidare public String getInput() throws IOException { return input.readLine(); } Eller fångas public String getInput() { try { return input.readLine(); } catch (IOException iofel) { System.err.println("Något gick fel vid inmatning:" + iofel); } }

Läsa/Skriva Till En Fil Det är så pass vanligt att läsa/skriva till en textfil att det finns speciella strömmar för detta FileReader FileWriter Skapas på följande sätt: FileReader in = new FileReader("filnamnet"); FileWriter out = new FileWriter("filnamnet"); // Filnamnet kan t.ex vara "minFil.txt","resultat.dat"

Skriva Till En Fil För mer effektiv skrivning koppla FileReader till en BufferedReader FileWriter fw = new FileWriter("filnamn"); BufferedWriter filut = new BufferedWriter(fw); Skapar alltid en ny fil filut.write("Programmering i");// Skriver en sträng filut.newLine(); // Skriver radbrytning filut.write("Java\n"); // Radbrytning på fel sätt filut.close(); // tömmer och stänger Skriver enbart strängar Stäng alltid filen med close()

Skriva Till En Fil Koppla till en PrintWriter för att använda metoderna println och print FileWriter fw = new FileWriter("filnamn"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter filut = new PrintWriter(bw); filut.println("Programmering i"); filut.println("Java"); filut.print(100); filut.close(); // Stänger filen Kan nu även skriva primitivatyper Glöm inte att kasta eller fånga eventuella Exception

Läsa Från En Fil FileReader läser endast ett tecken åt gången, ineffektivt Koppla till en BufferedReader för att läsa en hel rad med readLine() FileReader in = new FileReader("textfil.txt"); BufferedReader filin = new BufferedReader(in); String rad = filin.readLine(); // Returnerar null när // filen är slut while (rad != null) { System.out.println(rad); rad = filin.readLine(); } filin.close(); // Stänger filen

Läsa/Skriva Objekt Till Fil Serialisering är en teknik för att enkelt och smidigt spara och hämta objekt till en ström Gör det möjligt att lagra objektets data på en fil Eller att skicka objektet via en kommunikationsförbindelse Klasserna som används är: ObjectOutputStream, FileOutputStream ObjectInputStream, FileInputStream