1. Знания, которые вам необходимо знать для завершения этой программы:
1. Написать простую программу на Java, типа hello world --- ерунда. . . . Ха-ха
2. Понимание операций с файлами Java
3. Понимание работы буфера Java
4. Некоторые моменты обработки исключений для файловых операций: 1. Исходный файл не может быть прочитан. 2. Не удалось создать целевой файл. 3. Проблема с блокировкой файла. 4. Проблема с искажением символов. . . Может быть, не все
Это необходимые пакеты
импортировать java.io.BufferedInputStream;
импортировать java.io.BufferedOutputStream;
импортировать java.io.FileInputStream;
импортировать java.io.FileOutputStream;
import java.io.IOException требуется обработка исключений во время операций ввода-вывода;
Лично я считаю, что этот эффективный метод, когда дело доходит до установки компьютера, наиболее эффективной операцией должен быть относительно высокий объем операций с памятью и относительно низкий объем операций прямого ввода-вывода. . Итак, я выбираю равномерное чтение памяти и запись ввода-вывода. Код выглядит следующим образом:
пакет com.itheima;импорт java.io.BufferedInputStream;импорт java.io.BufferedOutputStream;импорт java.io.FileInputStream;импорт java.io.FileOutputStream;импорт java.io.IOException;/** * 5. Напишите копию файл программы, попробуйте использовать наиболее эффективный метод * * @author [email protected] * *. 1. Исходный файл не читается. 2. Не удалось создать целевой файл 3. Проблема с блокировкой файла 4. Проблема с искажением символов */public class Test5 {public static void main(String[] args) выдает 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) выдает IOException {BufferedInputStream inBuff = null;BufferedOutputStream outBuff = null; попробуйте {// Создать новый входной поток файла и сравните его. Он буферизует inBuff = new BufferedInputStream(new FileInputStream(src));// Создайте новый поток вывода файла и буферизируйте его outBuff = new BufferedOutputStream(new FileOutputStream(des));// Буферный массив byte[] b = new byte[1024 * 5];int len; while ((len = inBuff.read( b)) != -1) {outBuff.write(b, 0, len);}// Очищаем этот буферизованный выходной поток outBuff.flush();} наконец {//Закрываем поток if (inBuff != null)inBuff.close();if (outBuff != null)outBuff.close();}}}
Дополнения от других пользователей сети
try { File inputFile = new File(args[0]); if (!inputFile.exists()) { System.out.println("Исходный файл не существует, программа завершает работу"); ; } Файл OutputFile = новый файл (args [1]); Входной поток = новый FileInputStream (входной файл); Выходной поток = новый FileOutputStream (байтовая дата [] = новый); byte[1024]; int temp = 0; while ((temp = in.read(date)) != -1) { out.write(date); in.close(); (FileNotFoundException e) { // Автоматически созданный блок catch e.printStackTrace(); } catch (IOException e) { // Автоматически созданный блок catch e.printStackTrace(); }