toimub ikka sama moodi. Vahet pole, kas loed veebist, failist jne. Kogu ülejäänud programm võib olla sama, lihtsalt wrapperi sees peab ära muutma selle, kust loed. Failist lugemise puhul loeb reader järjest kuni jõuab lõppu, siis annab nulli. bufferedreader ootab kasutaja eneterivajutust, enne edasi ei loe. Text io-d ei soovita kasutada, pigem siis juba skännerit(või bufferedreaderit), sest text io ei näita osasid vigu üldse välja, vaid händlib ise enda sees. Filewriter kirjutab sümbolhaaval. Kui oled faili avanud, siis peab selle alati ka kinni panema pärast, muidu tekib sellele lukk peale ja ükski teine fail ei saa seda muuta. Javas on seadistatud nii, et ta vaikimisi kasutab kohaliku arvuti localet. Eclipsis kui lihtsalt panna failinimi, siis ta otsib seda vaikimisi root kaustast, mitte kaustast, kus see fail tegelt on. Scanneri pluss on see, kui nt andmed ei ole erinevatel ridadel, vaid neid eraldab tühik, tab või enter,
vastus = vastus + (char) taht; kontroll = 1;}} if (kontroll == 1) System.out.println("Jah " + vastus); else System.out.println("Ei");} } _______________________________________________________ public class sonad {public static void main(String[] args) { String sonad=args[0]; String sona[]=new String[10]; sona=sonad.split(" "); for(int i=(sona.length)-1;i>=0;--i){ System.out.print(sona[i]+" ");}}} _______________________________________________________ PrintWriter vfail = new PrintWriter(new FileWriter( v2ljundfail), true);String inputLine; while ((inputLine = in.readLine()) != null) { vfail.println(inputLine); // rea kirjutamine}
FileInputStream FilterInputStream BufferedInputStream DataInputStream PipedInputStream StringBufferInputStream OutputStream ByteArrayOutputStream FileOutputStream FilterOutputStream BufferedOutputStream DataOutputStream PrintStream PipedOutputStream RandomAccessFile Reader BufferedReader CharArrayReader FilterReader InputStreamReader FileReader PipedReader StringReader StreamTokenizer Writer BufferedWriter CharArrayWriter FilterWriter OutputStreamWriter FileWriter PipedWriter PrintWriter StringWriter Juhiseid orienteerumiseks Standardsisend System.in kuulub klassi InputStream Standardväljund System.out ja veaväljund System.err kuuluvad klassi PrintStream Tekstivoogudega (NB! Unicode) tegelevad Reader- ja Writer-klassid, baidivoogudega InputStream- ja OutputStream-klassid, andmevoogudega DataInputStream- ja DataOutputStream-klassid, kusjuures andmevoo interpreteerimiseks võib ise luua uusi
Baidivoog 1. abstraktsed klassid InputStream, OutputStream 2. klassi InputStream alamklasse FileInputStream, ByteArrayInputStream, SequenceInputStream 3. klassi OutputStream alamklasse FileOutputStream, DataOutputStream, CipherOutputStream, FilterOutputStream, PrintStream Märgivoog 1. abstraktsed klassid Reader, Writer 2. klassi Reader alamklasse BufferedReader, InputStreamReader, (FileReader) 3. klassi Writer alamklasse FileWriter, PrintWriter, BufferedWriter Puhverdamine Puhver: · info ajutiseks salvestamiseks mäluosa · ülesandeks on säilitada andmeid enne nende saatmist sihtkohta (nt. kõvakettale) Andmete lugemise ja kirjutamise protseduurid on aeglased · vahel võib ühe infoühiku saatmine olla praktiliselt sama "hinnaga" kui komplekti Klasse - BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter 11. Loeng Vood, Dünaamilised andmestruktuurid, Sisend-väljund, Failid
o „SortedSet“id: TreeSet o „Map“ Kaardid: HashMap, LinkedHashMap SortedMap: TreeMap Java.IO o Baitide peale pandud I/O InputSteam ja OutputStream FileInPutStream, SocketInputStream, ByteArrayInputStream, GZIPInputStream o Karakterid, mis põhinevad I/O Loendur ja Kirjutaja FileWriter, StringWriter, OutputStreamWriter Sõltuvus „Injection“ inversiooni kontroll- Sõltuvus antakse ette o Hollywood-i põhimõte- Ära kutsu meid- Me kutsume sind o Ära loo ise sõltumatuseid, need antakse sulle ise o Puhtam disain o Lihtsam testida Sõltuvus „Injection“ o Guice - github.com/google/guice o Dagger - google.github.io/dagger/ o Spring Framework - projects.spring.io/spring-framework/ o Mockito - mockito.org
GZIPInputStream 94 • character based I/O Tegeleb characteridega. Kasutada kui ainult java sisene rakendus, seal on osad asjad juba lahendatud nt täpitähed. • Reader & Writer • FileWriter, StringWriter, OutputStreamWriter 2. DEPENDENCY INJECTION INVERSION OF CONTROL • The Hollywood Principle: Don’t call us – we’ll call you • Don’t create your dependencies they will be given to you • Cleaner design • Easier to test 3. FAVOR COMPOSITION OVER INHERITANCE