Rumah Java javaTutorial Teknik dan aplikasi membaca dan menulis fail yang dilaksanakan di Jawa

Teknik dan aplikasi membaca dan menulis fail yang dilaksanakan di Jawa

Jun 18, 2023 am 08:34 AM
Contoh aplikasi Kemahiran mengendalikan fail membaca dan menulis fail java

Java ialah bahasa pengaturcaraan peringkat tinggi dengan fungsi membaca dan menulis fail yang sangat berkuasa. Dalam artikel ini, kami akan memperkenalkan teknik dan aplikasi membaca dan menulis fail Java.

1. Asas membaca dan menulis fail Java

1.1 Membaca fail

Kaedah membaca fail yang paling biasa digunakan di Java ialah menggunakan kelas BufferedReader. Berikut ialah contoh mudah:

try{
    BufferedReader br = new BufferedReader(new FileReader("input.txt"));
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
} catch(IOException e){
    e.printStackTrace();
}
Salin selepas log masuk

Dalam kod ini, kami mula-mula mencipta objek BufferedReader, yang membaca fail input.txt menggunakan kelas FileReader. Kami kemudian membaca setiap baris dalam fail dan mencetaknya ke konsol.

1.2 Menulis fail

Kaedah menulis fail yang paling biasa digunakan dalam Java ialah menggunakan kelas PrintWriter. Berikut ialah contoh mudah:

try{
    PrintWriter pw = new PrintWriter("output.txt");
    pw.println("Hello, world!");
    pw.close();
} catch(IOException e){
    e.printStackTrace();
}
Salin selepas log masuk

Dalam kod ini, kami mula-mula mencipta objek PrintWriter, yang akan menulis output ke fail output.txt. Kemudian kami menulis baris "Hello, dunia!" pada fail, dan akhirnya menutup objek PrintWriter.

1.3 Membaca dan menulis fail binari

Selain fail teks, Java juga boleh membaca dan menulis fail binari. Berikut ialah contoh mudah:

try{
    FileInputStream fis = new FileInputStream("input.bin");
    int data = fis.read();
    while (data != -1) {
        System.out.println(data);
        data = fis.read();
    }
    fis.close();
} catch(IOException e){
    e.printStackTrace();
}
Salin selepas log masuk

Dalam kod ini, kami mula-mula mencipta objek FileInputStream, yang membuka fail input.bin dalam mod binari. Kami kemudian membaca data dari bait fail demi bait dan mencetaknya ke konsol. Akhirnya kami menutup objek FileInputStream.

2. Kemahiran membaca dan menulis fail Java

2.1 Pengekodan aksara fail

Apabila memproses fail teks dalam Java, anda perlu memberi perhatian khusus kepada pengekodan aksara fail . Jika pengekodan fail bukan pengekodan UTF-8 lalai Java, anda perlu menggunakan pengekod yang sesuai untuk membaca atau menulis fail. Berikut ialah contoh membaca fail yang dikodkan UTF-16:

try{
    BufferedReader br = new BufferedReader(new InputStreamReader(
            new FileInputStream("input.txt"), "UTF-16"));
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
    br.close();
} catch(IOException e){
    e.printStackTrace();
}
Salin selepas log masuk

Dalam kod ini, kami membaca fail input.txt dengan menukar objek FileInputStream kepada objek InputStreamReader dan menentukan pengekod UTF-16. Adalah penting untuk ambil perhatian bahawa membaca fail teks menggunakan pengekod yang salah boleh menghasilkan aksara pelik atau ralat pengekodan, jadi pastikan anda memberi perhatian kepada pengekodan fail.

2.2 Membaca dan menulis fail besar

Perhatian khusus perlu diberikan kepada penggunaan memori semasa memproses fail besar. Jika anda membaca keseluruhan fail ke dalam memori sekaligus, anda boleh menyebabkan kebocoran memori atau ranap program. Jadi anda boleh menggunakan Java NIO (I/O Baharu) untuk membaca fail besar baris demi baris. Berikut ialah contoh membaca fail besar:

try{
    RandomAccessFile raf = new RandomAccessFile("input.txt", "r");
    FileChannel fc = raf.getChannel();
    ByteBuffer buf = ByteBuffer.allocate(1024);
    while (fc.read(buf) != -1) {
        buf.flip();
        byte[] bytes = new byte[buf.limit()];
        buf.get(bytes);
        System.out.print(new String(bytes, Charset.forName("UTF-8")));
        buf.clear();
    }
    fc.close();
    raf.close();
} catch(IOException e){
    e.printStackTrace();
}
Salin selepas log masuk

Dalam kod ini, kita mula-mula mencipta objek RandomAccessFile dan menggunakan objek RandomAccessFile untuk mencipta objek FileChannel. Kemudian kami mencipta objek ByteBuffer dengan saiz 1024 bait. Kemudian kami menggunakan objek FileChannel untuk membaca data ke dalam objek ByteBuffer, menggunakan objek ByteBuffer untuk menukar data menjadi tatasusunan bait dan menggunakan pengekod UTF-8 untuk menukar tatasusunan bait menjadi rentetan. Akhirnya kami mengosongkan objek ByteBuffer supaya kami boleh membaca data pada masa akan datang.

2.3 Menulis fail besar

Apabila berurusan dengan fail besar, anda juga perlu memberi perhatian khusus untuk membahagikan fail kepada saiz yang sesuai dan menulis baris demi baris. Berikut ialah contoh menulis fail besar:

try{
    PrintWriter pw = new PrintWriter(new File("output.txt"));
    for (int i = 0; i < 1000000; i++) {
        pw.println("Line #" + i);
        if (i % 10000 == 0) {
            pw.flush();
        }
    }
    pw.close();
} catch(IOException e){
    e.printStackTrace();
}
Salin selepas log masuk

Dalam kod ini, kami mula-mula mencipta objek PrintWriter, yang akan menulis output ke fail output.txt. Kemudian kami menulis 1,000,000 baris data dalam gelung dan siram penimbal setiap 10,000 baris untuk menulis data ke cakera. Akhirnya kami menutup objek PrintWriter.

3. Aplikasi membaca dan menulis fail Java

3.1 Penyalinan fail

Salah satu aplikasi yang paling biasa digunakan bagi fungsi membaca dan menulis fail Java ialah menyalin fail. Berikut ialah contoh salinan fail mudah:

try{
    FileInputStream fis = new FileInputStream("input.txt");
    FileOutputStream fos = new FileOutputStream("output.txt");
    byte[] buffer = new byte[1024];
    int count;
    while ((count = fis.read(buffer)) != -1) {
        fos.write(buffer, 0, count);
    }
    fis.close();
    fos.close();
} catch(IOException e){
    e.printStackTrace();
}
Salin selepas log masuk

Dalam kod ini, kami mula-mula mencipta objek FileInputStream untuk membaca fail input.txt. Kemudian kami mencipta objek FileOutputStream untuk menulis data ke fail output.txt. Seterusnya kita mencipta penimbal tatasusunan bait untuk menyalin blok fail demi blok. Akhir sekali kita gelung melalui setiap bahagian data dalam fail dan menulisnya ke fail output.

3.2 Pengiraan Nilai Hash Fail

Fungsi membaca dan menulis fail Java juga boleh digunakan untuk mengira nilai cincang (Hash) fail. Berikut ialah contoh pengiraan nilai cincang fail:

try{
    MessageDigest md = MessageDigest.getInstance("SHA-256");
    FileInputStream fis = new FileInputStream("input.txt");
    byte[] buffer = new byte[1024];
    int count;
    while ((count = fis.read(buffer)) != -1) {
        md.update(buffer, 0, count);
    }
    fis.close();
    byte[] digest = md.digest();
    System.out.println(DatatypeConverter.printHexBinary(digest));
} catch(IOException | NoSuchAlgorithmException e){
    e.printStackTrace();
}
Salin selepas log masuk

Dalam kod ini, kami mula-mula mencipta objek MessageDigest dan menggunakan algoritma penyulitan SHA-256. Kemudian kami mencipta objek FileInputStream untuk membaca fail input.txt. Kemudian kami mencipta penimbal tatasusunan bait dan gelung melalui setiap keping data dalam fail dan mengemas kininya ke dalam objek MessageDigest. Akhirnya kami menutup objek FileInputStream dan menggunakan objek MessageDigest untuk mengira nilai cincang fail dan mengeluarkan hasil pengiraan ke konsol dalam bentuk rentetan perenambelasan.

Kesimpulan

Fungsi membaca dan menulis fail Java sangat berkuasa Pembangun boleh menggunakan pelbagai teknik secara fleksibel untuk mengendalikan keperluan membaca dan menulis yang berbeza, seperti memproses pengekodan fail, membaca dan menulis fail besar, fail. penyalinan dan pengiraan nilai Hash dsb. Oleh itu, menguasai kemahiran membaca dan menulis fail Java dan aplikasi boleh membantu meningkatkan kecekapan pembangunan dan kualiti kod.

Atas ialah kandungan terperinci Teknik dan aplikasi membaca dan menulis fail yang dilaksanakan di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Algoritma pengekstrakan kata kunci dan contoh aplikasi yang dilaksanakan dalam Java Algoritma pengekstrakan kata kunci dan contoh aplikasi yang dilaksanakan dalam Java Jun 18, 2023 pm 12:14 PM

Algoritma pengekstrakan kata kunci dan contoh aplikasi yang dilaksanakan di Jawa Dengan kemunculan era Internet, data teks yang besar telah menyebabkan kesukaran yang besar bagi orang ramai untuk mendapatkan dan menganalisis Oleh itu, adalah perlu untuk menjalankan penyelidikan dan aplikasi teknologi pemprosesan bahasa semula jadi seperti pengekstrakan kata kunci . Pengekstrakan kata kunci merujuk kepada mengekstrak perkataan atau frasa daripada sekeping teks yang paling mewakili topik teks, memberikan sokongan untuk tugasan seperti pengelasan teks, perolehan semula dan pengelompokan. Artikel ini memperkenalkan beberapa algoritma pengekstrakan kata kunci dan contoh aplikasi yang dilaksanakan dalam Java. 1. Algoritma TF-IDF TF-IDF ialah a

Kaedah Redis dan contoh aplikasi untuk melaksanakan baris gilir tak segerak Kaedah Redis dan contoh aplikasi untuk melaksanakan baris gilir tak segerak May 11, 2023 pm 03:27 PM

Redis ialah pangkalan data storan nilai kunci berasaskan memori berprestasi tinggi Ia bukan sahaja menyokong penyimpanan pasangan nilai kunci, tetapi juga menyokong beberapa struktur data yang kompleks, seperti Senarai, Set, SortedSet dan Hash. Struktur data Senarai sangat sesuai sebagai struktur data untuk baris gilir tak segerak kerana ia menyokong memasukkan dan memadam elemen pada kedua-dua hujungnya. Artikel ini akan memperkenalkan cara menggunakan Redis untuk melaksanakan baris gilir tak segerak dan memberikan contoh aplikasi. 1. Bagaimana Redis melaksanakan baris gilir tak segerak Lis dalam Redis

Kaedah Redis dan contoh aplikasi untuk melaksanakan baris gilir teragih Kaedah Redis dan contoh aplikasi untuk melaksanakan baris gilir teragih May 11, 2023 pm 05:14 PM

Sebagai pangkalan data dalam memori berprestasi tinggi, Redis digunakan secara meluas dalam sistem teragih. Antaranya, sebagai salah satu komponen penting sistem teragih, baris gilir teragih sudah pasti sangat penting. Artikel ini akan menumpukan pada ciri teragih Redis dan memperkenalkan kaedah dan contoh aplikasi Redis untuk melaksanakan baris gilir teragih. 1. Ciri yang diedarkan Redis Sebagai pangkalan data dalam memori, Redis mempunyai prestasi cemerlang dalam caching, ketekunan dan aspek lain. Dalam sistem teragih, Redis juga mempunyai ciri yang sangat menonjol, iaitu, Re

Kaedah Redis dan contoh aplikasi untuk merealisasikan penyelarasan teragih Kaedah Redis dan contoh aplikasi untuk merealisasikan penyelarasan teragih May 11, 2023 pm 03:27 PM

Kaedah Redis dan contoh aplikasi untuk melaksanakan penyelarasan teragih Dalam sistem teragih, penyelarasan antara nod adalah isu utama. Penyelesaian tradisional biasanya menggunakan nod pusat untuk menyelaraskan nod lain, tetapi ini akan membawa masalah seperti titik kegagalan tunggal dan kesesakan prestasi. Dalam tahun-tahun kebelakangan ini, Redis, sebagai pangkalan data dalam memori berprestasi tinggi, telah digunakan secara meluas. Dalam Redis, struktur data dan set arahannya boleh digunakan untuk melaksanakan fungsi penyelarasan teragih, dengan itu mencapai sistem teragih yang sangat tersedia dan berprestasi tinggi. Artikel ini akan memperkenalkan Re

Lima kes yang mesti diketahui untuk memahami teknologi kanvas JS Lima kes yang mesti diketahui untuk memahami teknologi kanvas JS Jan 17, 2024 am 08:05 AM

Contoh aplikasi teknologi CanvasJS: Lima kes yang perlu anda ketahui Pengenalan: Kemunculan HTML5 telah membawa kemungkinan baharu kepada pembangunan web, terutamanya elemen Canvas, yang menyediakan cara yang berkuasa untuk melukis grafik dan animasi pada halaman. Digabungkan dengan kuasa JavaScript, pembangun boleh menggunakan Canvas untuk mencapai pelbagai kesan dan interaksi yang hebat serta meningkatkan pengalaman pengguna. Artikel ini akan memperkenalkan lima contoh aplikasi CanvasJS yang menakjubkan dan menyediakan yang berkaitan

Contoh aplikasi Redis dalam visualisasi data Contoh aplikasi Redis dalam visualisasi data May 11, 2023 pm 04:29 PM

Contoh aplikasi Redis dalam visualisasi data Dalam beberapa tahun kebelakangan ini, visualisasi data telah menjadi salah satu pautan penting dalam analisis data dan membuat keputusan. Melalui alat visualisasi, penganalisis data dan pembuat keputusan boleh memahami situasi data dengan lebih jelas dan intuitif, untuk membuat keputusan yang lebih baik. Cabaran yang dibawa oleh data besar juga mendorong kami untuk terus meneroka dan berinovasi dalam visualisasi data. Artikel ini akan memperkenalkan contoh aplikasi Redis dalam visualisasi data Melalui contoh ini, kita boleh lebih memahami ekologi dan nilai Redis dalam visualisasi data.

Contoh aplikasi Redis dalam sistem pengesyoran Contoh aplikasi Redis dalam sistem pengesyoran May 12, 2023 am 11:21 AM

Contoh aplikasi Redis dalam sistem pengesyoran Dengan perkembangan Internet dan pertumbuhan maklumat yang pesat, beban maklumat yang berlebihan telah menjadi masalah utama yang menjejaskan akses orang ramai kepada maklumat. Oleh itu, sistem pengesyoran muncul mengikut keperluan masa Ia boleh meramalkan tingkah laku pengguna melalui algoritma dan menyediakan perkhidmatan pengesyoran yang diperibadikan, yang meningkatkan pengalaman pengguna dan keuntungan produk. Pelaksanaan sistem pengesyoran memerlukan sejumlah besar penyimpanan data, pemprosesan dan pengiraan, dan Redis ialah penyelesaian yang sangat baik. Redis ialah pangkalan data NoSQL berprestasi tinggi,

Konfigurasi ruang nama dan contoh aplikasi dalam PHP Konfigurasi ruang nama dan contoh aplikasi dalam PHP Jun 25, 2023 am 08:32 AM

PHP ialah bahasa pengaturcaraan yang sangat fleksibel dengan pelbagai aplikasi. Dalam pembangunan PHP, untuk mengelakkan konflik penamaan dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod, PHP memperkenalkan konsep ruang nama. Ruang nama membantu pembangun menggunakan nama kelas atau fungsi yang sama dalam projek yang sama tanpa konflik. Artikel ini akan memperkenalkan cara mengkonfigurasi ruang nama dalam PHP dan contoh aplikasi biasa. 1. Bagaimana untuk mengkonfigurasi ruang nama PHP Isytiharkan ruang nama dalam PHP dengan menggunakan namespa di bahagian atas fail.

See all articles