"Kita bakal miwiti karo lepen kanggo file input / output. Nanging pisanan iku pisanan."

Ana rong kelas kanggo maca lan nulis file: FileInputStream lan FileOutputStream . Kaya sing wis sampeyan bayangake, FileInputStream bisa maca bait saka file, lan FileOutputStream bisa nulis bait menyang file. Mangkene metode sing ana ing kelas kasebut:

Metode Apa metode kasebut
FileInputStream(String fileName);
- Iki konstruktor. Ngidini sampeyan nemtokake jeneng file ing disk, saka ngendi obyek sing digawe bakal maca data.
int read();
- Cara iki maca siji bait saka file lan ngasilake. Nilai bali wis widened kanggo int.
int available();
- Cara iki ngasilake jumlah bita sing durung diwaca (kasedhiya).
void close();
- Cara iki «nutup» stream. Sampeyan nelpon iki yen sampeyan wis rampung nggarap stream.
Obyek banjur nindakake operasi housekeeping needed kanggo nutup file, etc.
Ing jalur iki, sampeyan ora bisa maca data liyane saka stream.

Mung kanggo seneng-seneng, ayo ngetung jumlah kabeh bita ing file. Iki kaya kode kasebut:

Nyimpulake kabeh bita ing file
public static void main(String[] args) throws Exception
{
 //Create a FileInputStream object bound to «c:/data.txt».
 FileInputStream inputStream = new FileInputStream("c:/data.txt");
 long sum = 0;

 while (inputStream.available() > 0) //as long as there are unread bytes
 {
  int data = inputStream.read(); //Read the next byte
  sum +=  data; //Add it to the running total
 }
 inputStream.close(); // Close the stream

 System.out.println(sum); // Display the sum on the screen.
}

"Kita wis nliti kaya iki. Kepiye FileOutputStream diatur?"

"Oke. Deleng iki:"

Metode Apa metode kasebut
FileOutputStream (String fileName);
"Iki konstruktor. Sampeyan ngidini sampeyan nemtokake jeneng file ing disk, sing obyek sing digawe bakal nulis data."
void write(int data);
"Cara iki nulis bait sabanjure, ngethok data dadi siji bait."
void flush();
"Data sing bakal ditulis asring pisanan diklumpukake ing pamblokiran gedhe ing memori, banjur mung ditulis ing disk."

Printah flush meksa kabeh informasi sing ora disimpen ditulis menyang disk.

void close();
"Cara iki «nutup» stream. Sampeyan nelpon iki nalika sampeyan wis rampung nggarap stream."
Obyek banjur nindakake operasi housekeeping sing dibutuhake kanggo nutup file, lsp.

Sampeyan ora bisa nulis data menyang stream maneh, lan flush diarani kanthi otomatis.

"Lha iku?"

"Ya, sejatine mung siji cara kanggo nulis: nulis (). Iku mung nulis siji bait sekaligus. Nanging ngidini sampeyan nulis akeh informasi sing dikarepake ing file kasebut."

Pemrograman minangka proses mbagi siji tugas gedhe lan kompleks dadi akeh tugas cilik. Ateges proses sing padha kedadeyan ing kene: maca lan nulis blok data gedhe dipecah dadi maca lan nulis ing potongan ukuran cokotan-siji bait sekaligus.

Mangkene carane sampeyan bisa nggunakake kelas kasebut kanggo nyalin file ing disk:

Nyalin file ing disk
public static void main(String[] args) throws Exception
{
 //Create a stream to read bytes from a file
 FileInputStream inputStream = new FileInputStream("c:/data.txt");
 //Create a stream to write bytes to a file
 FileOutputStream outputStream = new FileOutputStream("c:/result.txt");

 while (inputStream.available() > 0) //as long as there are unread bytes
 {
  int data = inputStream.read(); // Read the next byte into the data variable
  outputStream.write(data); // and write it to the second stream
 }

 inputStream.close(); //Close both streams. We don't need them any more.
 outputStream.close();
}

"Thanks, Rishi. Akhire aku ngerti carane kode iki bener bisa."