1。IOストリームの分類
文字ストリーム
リーダー
inputStreamReader(ノードストリーム)
BufferedReader(ストリームの処理)
作家
outputStreamWriter(ノードストリーム)
bufferedwriter(処理ストリーム)
printwriter
バイトストリーム
inputstream
fileinputStream(ノードストリーム)
bufferedinputStream(処理ストリーム)
ObjectInputStream(処理ストリーム)
printStream
outputStream
fileoutputStream(ノードストリーム)
BufferedOutputStream(処理ストリーム)
ObjectOutputStream(処理ストリーム)
ブレークポイント処理ストリーム
randomAccessFile
2。IOストリームの使用
1。変換ストリームの使用
fileInputStream in = new fileInputStream(newFile( "")); ReaderReader = new inputStreamReader(in); // byte to character fileoutputStreamout = new fileoutputStream(newFile( "")); Writer Writer = new outputStreamWriter(out); // charact to byte
2。オブジェクトのシリアル化、オブジェクトはシリアル化可能なインターフェイスを実装する必要があります
fileoutputStremFileOutputStream = new FileOutputStream( "c://users//lx//desktop//record.txt"); objectputStreAmObjectOutputStream = new objectOutputStream(fileoutputStream); ObjectOutputStream.writeObject(object); //指定されたファイルにオブジェクトを書き込みますobjectOutputStream.close(); fileInputStreamFileInputStream = new FileInputStream( "c://users//lx//desktop//record.txt"); ObjectInputStreamObjectInputStream = new ObjectInputStream(FileInputStream); object = objectInputStream.ReadObject(); //オブジェクトを読み取りますfileInputStream.lose();
3。ブレークポイントの適用
パブリッククラスのコピーはスレッドを拡張します{// MultiThReadを使用してコピーLongStart; longEnd; filesSorce; filetargetDir; publicCopy(){} publicCopy(longstart、long end、fileコンポーネント、ファイルターゲット){//コンストラクターを使用してコピーの長さを渡すことができます。 this.start = start; this.end = end; this.sorce = sort; this.targetdir = targetdir;}@override publicvoid run(){try {randomacsfilesouceraf = new randomaccessfile(sorce、 "r"); randomacessfiletargetraf = new randomAccessfile(newfile(targetdir、sorce.getname())、 "rw"); souceraf.seek(start); stargraf.seek(start); intlen = 0; byte [] bs = new byte [] bs = new byte [] bsseek; system.out.out.println(start+"+" souceraf.read(bs))!= -1){targetraf.write(bs、0、len); seek = souceraf.getfilepointer(); //ブレークポイントの位置を取得するif(seek == end){break;}} targetraf.close(); souceraf.close();4。バイトストリームの使用
public class test_inputStream {// byteストリームを使用してテキストファイルコンテンツを取得しますが、問題は発生する傾向があります// intの長さは境界がなくなる可能性がありますpublic static void main(string [] args)throws {inputstream inputstream = new fileinputStream(new file( "c://users//lx//desktop//test//test"); byte [] b = new byte [inputstream.abailable()]; inputstream.read(b); string str = new String(b); System.out.println(str); }*///arbledコードが表示される場合がありますpublic static void main(string [] args)throws ioexception {file file = new file( "c://users//lx//desktop//test//33.txt"); inputstream inputstream = new fileinputStream(file); byte [] b = new byte [2]; stringbuffer sbuffer = new StringBuffer(); while((len = inputstream.read(b))!= - 1){sbuffer.append(new String(b、0、len));} system.out.println(sbuffer.tostring());} //バイトストリームパブリックボイドコピー(ファイルsourcefile){ファイルターゲットダイリット) null; fileoutputStreamFileOutputStream = null; fileInputStream = new fileInputStream(sourceFile); filetargetFile = new File(targetDir、sourceFile.getName()); new FileOutputStream(TargetFile); byte [] b = new byte [] intlen = 0; != -1){fileoutputStream.write(b、0、len);}}5。キャッシュされた文字ストリームの使用
publicStatic void main(string [] args)throws ioexception {// cached文字ストリーム実装の実装ファイルinputstreamin = system.in; readerreader = new inputstreamreader(in); bufferedreaderbr = new bufferedreader(reader); bufferedwriterbw = new bufferedwriter(new filewriter(新しいファイル) file( "src/1.txt")))フラッシュ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}}要約します
上記は、Java IOストリーム関連の知識コードの分析に関するこの記事のすべての内容です。誰にとっても役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!