"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 |
---|---|
|
- Iki konstruktor. Ngidini sampeyan nemtokake jeneng file ing disk, saka ngendi obyek sing digawe bakal maca data. |
|
- Cara iki maca siji bait saka file lan ngasilake. Nilai bali wis widened kanggo int. |
|
- Cara iki ngasilake jumlah bita sing durung diwaca (kasedhiya). |
|
- 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:
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 |
---|---|
|
"Iki konstruktor. Sampeyan ngidini sampeyan nemtokake jeneng file ing disk, sing obyek sing digawe bakal nulis data." |
|
"Cara iki nulis bait sabanjure, ngethok data dadi siji bait." |
|
"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. |
|
"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:
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."
GO TO FULL VERSION