En strøm er en kontinuerlig strøm av data. I Java brukes I/O-strømmer til å lese fra inngangskilder eller skrive til utdatamål som filer. De gir en måte å få tilgang til data sekvensielt. Java.io-pakken inkluderer klasser for håndtering av både bytestrømmer og karakterstrømmer og også for konvertering mellom dem.
- Inndatastrøm: leser data fra kilden.
- Utdatastrøm: skriver data til en destinasjon.
Når du skal bruke Character Stream over Byte Stream:
I Java lagres tegn ved hjelp av Unicode-konvensjoner. Tegnstrøm er nyttig når vi ønsker å behandle tekstfiler. Disse tekstfilene kan behandles tegn for tegn. Tegnstørrelsen er vanligvis 16 biter.
hashing i datastruktur
Når du skal bruke Byte Stream over Character Stream:
Byteorientert leser byte for byte. En bytestrøm er egnet for å behandle rådata som binære filer.
Nøkkelpunkter ved bruk og håndtering av noen av strømmene ovenfor:
- Tegnstrømklasser slutter vanligvis med Reader/Writer, mens bytestrømklasser slutter med InputStream/OutputStream.
- Eksempelkodene i denne artikkelen bruker ubuffrede strømmer som er mindre effektive. For bedre ytelse pakker vi dem vanligvis inn med BufferedReader/BufferedWriter (tegnstrømmer) eller BufferedInputStream/BufferedOutputStream (bytestrømmer).
- Steng alltid strømmer etter bruk for å frigjøre ressurser og forhindre feil.
- Kodene ovenfor kjører kanskje ikke i online kompilatorer, da filer kanskje ikke eksisterer.
Karakterstrøm
I Java lagres tegn ved hjelp av Unicode-konvensjoner. Tegnstrøm lar oss automatisk lese/skrive data tegn for tegn. For eksempel FileReader og FileWriter er tegnstrømmer som brukes til å lese fra kilden og skrive til destinasjonen.
KarakterstrømmerEksempel
burak ozcivitJava
import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Initially assigning null as we have not read anything FileReader sourceStream = null; try { // Reading from file sourceStream = new FileReader('/Users/mayanksolanki/Desktop/demo.rtf'); // Reading sourcefile and writing content to target file character by character. int temp; // If there is content inside file than read while ((temp = sourceStream.read()) != -1) System.out.println((char)temp); System.out.print('Program successfully executed'); } finally { if (sourceStream != null) sourceStream.close(); } } }
Produksjon:
Skriver innhold til målfilen tegn for tegn
omvendt streng javaProgrammet ble utført
Byte Stream
En bytestrøm i Java er en strøm som håndterer input og output av rå 8-bits binære data. Den brukes hovedsakelig til å lese og skrive ikke-tekstdata som bilder, lydvideo eller en hvilken som helst binær fil. For eksempel FileInputStream brukes til å lese fra kilden og FileOutputStream for å skrive til destinasjonen.
Eksempel:
Javaimport java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Initially assigning null ot objects for reading and writing to file FileInputStream sourceStream = null; FileOutputStream targetStream = null; try { // Passing the files via local directory sourceStream = new FileInputStream('/Users/mayanksolanki/Desktop/demo.rtf'); targetStream = new FileOutputStream('/Users/mayanksolanki/Desktop/democopy.rtf'); // Reading source file and writing content to file byte by byte int temp; // If there is content inside file than read while ((temp = sourceStream.read()) != -1) targetStream.write((byte)temp); System.out.print('Program successfully executed'); } // finally block that executes for sure where we are closing file connections to avoid memory leakage finally { if (sourceStream != null) sourceStream.close(); if (targetStream != null) targetStream.close(); } } }
Produksjon:
Programmet ble utført
Forskjeller mellom karakterstrøm og bytestrøm
| Aspekt | Karakterstrøm | Byte Stream |
|---|---|---|
| Datatype behandlet | 16-bits Unicode-tegn (tekst) | 8-bits rådata (binær) |
| Klassene avsluttes med | Leser / skribent | InputStream / OutputStream |
| Egnet for | Tekstfiler Unicode-data | Bilder lyd video binære filer |
| Omdannelse | Konverterer byte til tegn automatisk | Ingen konvertering fungerer med råbyte |
| Eksempler | FileReader FileWriter | FileInputStream FileOutputStream |
Relatert artikkel
- Java IO - Input/Output i Java med eksempler