1.バイトストリーム:
FileInputStreamを(バイトの入力ストリーム)
のユニークな方法:
FileInputStreamの新しい新しいFISはのFileInputStream( "TEMP.TXTを")=;
1.int fis.available NUM =(); //は、ファイルの総バイト数を返します
2.fis.readを( )バイトを読み取れない場合は、int型の数値を返します//、-1
1 // 使用バイト数组进行优化 2 公共 静的 ボイド M3()スローにIOException 3 { 4 5 FileInputStreamのFIS = 新しい FileInputStreamを( "TEMP.TXT" )。 6 7 バイト [] ARR = 新しい バイト [10 ]。 8 INT LEN = 0 。 9 ながら(!(LEN = fis.read(ARR))= - 1 ){ 10 11 System.out.print(新しい文字列(ARR、0 、LEN))。 12 } 13 14 fis.close()。 15 16 17 }
1 // バイトストリームは、ファイルを読み込む:バイトに対して1つの 2 公共 静的 ボイド M2()スローIOExceptionが 3。 { 4。 FileInputStreamのFIS = 新しい新規のFileInputStream( "TEMP.TXT" ); 5。 6。 INT NUM; 7。 一方、(( fis.read = NUM())= - 1。!){ 8。 9。 System.out.print((の文字)NUM); 10 } 11 12である (fis.close); 13である 14 }
2.FileOutputStream(出力バイトストリーム)
方法:
のFileOutputStream fosの=新しいのFileOutputStream( "TEMP.TXT");
fos.write( "ABC" .getBytes() ); //バイト[] GetBytesメソッド() コード
注: 1.出力がそれぞれ入力(後にフラッシュするために行われるべきである)ではなく、リフレッシュされない場合版画
2.)(プログラムの終了時に閉じる必要があり、ファイルを閉じて、クローズ()デフォルトのオートリフレッシュ
3.バイトストリームバッファ:BufferedInputStreamをBufferedOutputStreamが
これらのメソッドは例外をスローします。
1 実施形態: 2 インポート java.io. * ; 。3 クラスDemo4 。4 { 5 パブリック 静的 ボイドメイン(文字列[]引数) 。6 { 7 // バイトストリームバッファ:BufferedInputStreamをしなBufferedOutputStream 。8 。9 // コピー画像 10にBufferedInputStream BIS = NULL ; 11なBufferedOutputStreamザBOS = NULL ; 12は 13である トライ{ 14 15 BIS = 新しい新しい BufferedInputStreamを(新しい新FileInputStreamを( "tou1.jpg" )); 16の BOS = 新たなBufferedOutputStream(新たFileOutputStream( "tou1_copy.jpg" )); 17 18 バイト [] ARR = 新しい バイト [1024 ]; 19 INT LEN = 0 。 20 ながら(!(LEN = bis.read(ARR))= - 1 ){ 21 22 bos.write(ARR、0 、LEN)。 23 } 24 25 } キャッチ(IOExceptionを電子){ 26 e.printStackTrace(); 27 } 最後に{ 28 29 IF(!BISは= ヌル) 30 のtry { 31であり ;(bis.close) 32 } キャッチ(IOExceptionをE){ 33が スロー 新しい新規のRuntimeException( "バッファーバイトストリームが失敗を読み取る" ); 34である } 35 36 IF BOS(! = NULL ) 37 試み{ 38は bos.close(); 39 } キャッチ(IOExceptionをE){ 40 投 新しい新規のRuntimeException( "バイトバッファリングされた出力が失敗をオフストリーム" ); 41 } 42 } 43は 44である } 45 }
4.標準入力(キーボード及び関連): System.in(入力ストリームオブジェクト内の1つのバイト(キーボードに関連付けられたデフォルトのデバイス))
// INT kk.read M =(); //キーボードブロックからデータを読み出します方法、限りない入力として、待機
)//System.out.print((char)mと、
既に関連付けられている標準出力(コンソール機器)のSystem.out;(OUT出力は、バイトストリームオブジェクト(デフォルトの関連付けでありますコンソール機器))がある//出力は、バイトストリームオブジェクトであります
使用System.inキーボード入力は、あまりにも面倒
実装コードのキーボード入力コード(のreadLine())関数System.inはBufferedReaderののリード線と類似して
読み込まれたバイトのSystem.inストリーム----
BufferedReaderの----文字ストリームを読み込みます
5.転流:
InputStreamReader:文字がバイトストリームのブリッジから流れている
(入力ストリーム内)にInputStreamReader
のOutputStreamWriter(OutputStreamのOUT):のOutputStreamWriter
1つの 実施形態: 2 クラスDemo6 。3 { 4 パブリック 静的 ボイドメイン(文字列[]引数)がスローにIOException 。5 { 6 // 標準キーボード入力バイト・ストリーム・オブジェクトの定義、またはFileInputStreamの()オブジェクトを定義する 7。 =でのInputStream System.in。 8 。9 // バイトを使用する文字ストリームの流れに変換するストリーム 10 InputStreamReaderのISR = 新しい新しいInputStreamReaderの(に); 11 12である // 使用される文字ストリームバッファ 13は BufferedReaderのBR = 新しい新しいBufferedReaderの(ISR); 14 15 16 17。 // 標準精細出力バイトストリームオブジェクト、またはオブジェクト)(たFileOutputStreamを定義する 18である ;のPrintStream OUT =のSystem.outを// 出力は、バイトストリームオブジェクトである(とコンソールデバイスに関連付けられている) 19。 20がある // バイト出力ストリームへの文字の出力ストリーム 21であるのOutputStreamWriter OSW = 新しい新規のOutputStreamWriter(OUT) 22は 23である // 使用される文字ストリームバッファ 24 BufferedWriterの、BW = 新しい新; BufferedWriterの、(OSW) 25 26が 27列ライン= NULL ; // キーボード無端から読み出しフラグ 28 ながら((ライン= br.readLine())!= NULL ){ 29 IF( "上" .equals(ライン)) 30 破ります; 31 bw.write(ライン) 32 bw.newLine()。 33 // bw.flush()。 34 // のSystem.out.println(ライン)// 字节流 35 } 36 37 38 br.close()。 39 bw.close()。 40 41 } 42 }
6.File:用のJavaオブジェクトのパスまたはファイル
オブジェクトの例:
//ファイルまたはフォルダの種類のオブジェクトファイルにカプセル化された
ファイルのファイル=新しいファイル(「E :\\ javaのtt.txt \\ \\ day17の練習問題」);
2用//ファイル。名前変更の
ファイルのファイル=新しいファイル( "E :\\ javaの\\ day17実践演習"、 "tt.txt");
// 3を個別に定義された。
FF =新しい新しいファイル(「Eファイル:\\ \\ Javaの練習をday17の練習「);
ファイルファイル=新しい新しいファイル(FF、」tt.txt「);
方法:
のgetName()//ファイル名取得
ある、getPathを()//パス定義を取得するには、定義され、反対を取得し、その後相対的なものです絶対絶対入手
親ディレクトリのパス名文字列の抽象パス名を返します//のgetParentを();このパス名が親ディレクトリ、またはnullに名前を付けていない場合。
getAbsolutePath()//絶対パスを取得
LASTMODIFIEDを()//ファイルの最終更新時刻を取得し
、削除()//ファイルやフォルダを削除
listRoots()//ルートディレクトリを取得します(システムディスクを取得)
リストを()// GET Aすべてのファイルとフォルダのディレクトリ名が返される文字列[]
listfileこの()[]は、ディレクトリ内のすべてのファイルとフォルダは、ファイルのオブジェクトとしてパッケージ化されたファイルを返す//
LISTFILE(FilenameFilterフィルタ)
7.递归:函数自己调用自己,当调用次数太多时,会内存溢出,所有要注意,调用次数不要太多
注意:要有调用的结束条件
8.PrintStream:字节打印流,继承了OutputStream,字节输出流的功能都具备,增加了打印的功能
向哪些设备输出(目的):
1: File类型的文件
2:OutputStream类型的字节输出流
3:字符串类型的文件名
例:ps.write(353);// 00000000 00000000 00000001 01100001---》砍掉前三个字节 01100001
9.父类是Writer
PrintWriter:字符打印流,字符输出流的基本功能都具备,增加了打印功能
向哪些设备输出(目的):
1:File类型的文件
2:字节输出流对象
3:字符输出流对象
4:字符串类型的文件名
1 例: 2 3 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 4 5 // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); 6 7 PrintWriter pw = new PrintWriter(System.out,true);//加上第二个参数,则会自动刷新 8 9 String line = null; 10 while((line=br.readLine())!=null){ 11 if("over".equals(line)) 12 break; 13 pw.println(line);//会输出换行 14 //pw.write(line); 15 // pw.flush(); 16 }