1. このプログラムを完了するために知っておく必要がある知識ポイント:
1. hello world などの単純な Java プログラムを作成します。ナンセンスです。 。 。 。ははは
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; IO 操作中に例外処理が必要です。
個人的には、この効率的な方法は、コンピューターのインストールに関しては、メモリ操作が比較的高く、直接 IO 操作が比較的低いことが最も効率的であると感じています。 。したがって、ここで私が選択するのは、メモリを読み取り、IO を均一に書き込むことです。コードは次のとおりです。
package com.itheima;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 5. のコピーを書き込みます。プログラム ファイルを編集するには、最も効率的な方法を使用してください。 * * @author [email protected] * * 1. ソースファイルが読み込めません。 2. 保存先ファイルの作成に失敗した 3. ファイルロックの問題 4. 文字化けの問題 */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 {// 新しいファイル入力ストリームを作成しますそれを比較してください バッファ 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("ソース ファイルが存在しないため、プログラムは終了します");ファイル出力ファイル = 新しいファイル (args[1]); 入力ストリーム = 新しいファイル出力ストリーム (出力ファイル); byte[1024]; int temp = 0; while ((temp = in.read(date)) != -1) { out.write() }; (FileNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); }