序文:IOストリームは、主にバイトストリームと文字ストリーム、つまり2つのカテゴリに分かれています
知らせ:
1.オーディオファイル、写真、ビデオ(幅広い範囲)にbyteストリームを使用します。
2。テキストのみを伴う場合は、文字ストリームを使用します
BYTEストリームを使用してテキストコンテンツをコピーします(他のファイルも可能です)
コードは次のとおりです。
java.io.fileをインポート; java.io.fileinputStreamをインポート;インポートjava.io.fileenotfoundexception; import java.io.fileoutputStream; Import java.io.inputStream; Import java.InputStream; Impont java.io.OutputStream; public copiid {public static viid ags [] uply static viid ags [] infile = new file( "src.txt"); //ソースファイルinputstream in = new fileinputStream(infile); //ファイル入力ストリームファイルoutfile = new file( "tar.txt"); //ターゲットファイルoutputStream out = new fileoutputStream(outfile); //ファイル出力ストリームバイト[] buff = new byte [1024]; //バッファを作成し、1024バイトのメモリを割り当ててint num = 0にバフに割り当てます。 while((num = in.read(buff))!= -1){//読み取りの最大バイト数が1024 out.write(buff、0、num)であるかどうかを判断します。 // out.write(buff); //これは大丈夫ですが、ファイルコンテンツを間違っているのは簡単です。Flush(); //バッファ文字列s = new String(buff); system.out.println( "ファイルコンテンツが正常にコピーされた"); System.out.println( "ファイルコピーコンテンツIS /n"+s); } in.close(); //入力Stream.Close()を閉じます。 //出力ストリームを閉じる// infile.delete(); //ソースファイルを削除する// outfile.renameto(new file( "rename.txt")); //出力ファイルの名前を変更} catch(filenotfoundexception e){e.printstacktrace(); //コマンドラインの例外情報とプログラムのエラーの理由を印刷} catch(ioException e){e.printstacktrace(); }}}文字ストリームを使用してテキストコンテンツをコピーする(テキストファイルのみ)
コードは次のとおりです。
java.io.bufferedreader; Import java.io.bufferedwriter; import java.io.file; Import java.io.filenotfoundexception; Import java.io.filewriter; Import java.filewriter; Import Java.io.ioexception; infile = new file( "d:/src.txt"); //ソースファイルfilreader filereader = new fileReader(file); //ファイルのキャラクターストリームBufferedReader bufferedReader = new BufferedReader(fileReader); //読み取り文字をキャッシュファイルに配置します。 //ターゲットfilewriter filewrite = new filewriter(outfile); //文字ストリームbufferedwriter bufferedwriter = new BufferedWriter(filewrite); //文字ストリームをキャッシュ文字列s = ""に入力する文字ストリームを置きます。文字列str = ""; while((s = bufferedreader.readline())!= null){//ファイル文字ストリームがbufferedwriter.write(s)が読み取られているかどうかを決定します。 //文字ストリームキャッシュはファイルに書き込まれますbufferedwriter.newline(); // newline文字が遭遇した場合、newline bufferedwriter.flush(); //新鮮なキャッシュstr+= s; } system.out.println( "ファイルコピーコンテンツは /n"+str); //入力および出力ストリームfilereader.close(); bufferedreader.close(); filewrite.close(); bufferedwriter.close(); bufferedwriter.close(); // file.delete(); //ソースファイルを削除する// outfile.renameto(new file( "rename.txt")); //出力ファイルの名前を変更} catch(filenotfoundexception e){e.printstacktrace(); //コマンドラインの例外情報とプログラムのエラーの理由を印刷} catch(ioException e){e.printstacktrace(); }}}説明:
ファイルコンテンツを上書きするのではなく、ファイルコンテンツを追加してテキストコンテンツをコピーする場合は、次のように変更します
outputStream out = new fileoutputStream(outfile、true); //バイトストリーム
filewriter filewrite = new filewriter(outfile、true); //文字ストリーム
文字ストリームのキャッシュサイズを指定する場合は、次のように変更します
BufferedWriter BufferedWriter = new BufferedWriter(FileWrite、1024);