1. Poin pengetahuan yang perlu Anda ketahui untuk menyelesaikan program ini:
1. Tulis program Java sederhana, seperti hello world --- omong kosong. . . . Ha ha
2. Memahami pengoperasian file java
3. Memahami operasi buffer java
4. Beberapa poin penanganan pengecualian untuk operasi file: 1. File sumber tidak dapat dibaca. 2. Gagal membuat file tujuan. 3. Masalah kunci file 4. Masalah karakter kacau. . . Mungkin tidak semua
Ini adalah paket-paket yang dibutuhkan
impor java.io.BufferedInputStream;
impor java.io.BufferedOutputStream;
impor java.io.FileInputStream;
impor java.io.FileOutputStream;
import java.io.IOException; Penanganan pengecualian diperlukan selama operasi IO
Secara pribadi, saya merasa bahwa metode yang efisien ini, ketika menginstal komputer, operasi yang paling efisien haruslah operasi memori yang relatif tinggi, dan operasi IO langsung yang relatif rendah. . Jadi yang saya pilih disini adalah membaca memori dan menulis IO secara seragam.
paket com.itheima;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 5. Tulis salinan file programnya, coba gunakan cara yang paling efisien. 1. File sumber tidak dapat dibaca. 2. Gagal membuat file tujuan 3. Masalah kunci file 4. Masalah karakter kacau */public class Test5 {public static void main(String[] args) throws IOException {String src_file = "D:/java/java.doc" ;String des_file = "D:/java/java_copy.doc";copyFile(src_file, des_file);System.out.println("OK!");}public static void copyFile(String src, String des) throws IOException {BufferedInputStream inBuff = null;BufferedOutputStream outBuff = null;try {// Buat aliran input file baru dan bandingkan Ini buffer inBuff = new BufferedInputStream(new FileInputStream(src));// Buat aliran keluaran file baru dan buffer outBuff = new BufferedOutputStream(new FileOutputStream(des));// Buffer array byte[] b = new byte[1024 * 5];int len; while ((len = inBuff.read( b)) != -1) {outBuff.write(b, 0, len);}// Hapus aliran keluaran yang di-buffer ini outBuff.flush();} akhirnya {//Tutup streaming if (inBuff != null)inBuff.close();if (outBuff != null)outBuff.close();}}}
Suplemen dari netizen lain
coba { File inputFile = new File(args[0]); if (!inputFile.exists()) { System.out.println("File sumber tidak ada, program dihentikan"); ; } Berkas outputFile = File baru(args[1]); byte[1024]; int temp = 0; while ((temp = masuk.baca(tanggal)) != -1) { keluar.tulis(tanggal); masuk.tutup(); keluar.tutup(); (FileNotFoundException e) { // TODO Blok tangkapan yang dibuat secara otomatis e.printStackTrace(); } catch (IOException e) { // TODO Blok tangkapan yang dibuat secara otomatis e.printStackTrace(); }