LineNumberReader
作用:用來獲取行號。
比如:
File file = new File("xx/Desktop/Test/hong.txt");
FileReader fr = new FileReader(file);
LineNumberReader lnr = new LineNumberReader(fr);
// 設置行號,默認從1開始
lnr.setLineNumber(100);
String string = null;
while ((string = lnr.readLine()) != null) {
System.out.println(lnr.getLineNumber() + ":" + string);
}
fr.close();
這時候控制檯就會從file中讀取文本並打印行號和字符串,並設置了從100開始。
打印流
特點
1.不拋IOException 其他異常會拋
2.原樣輸出到目的端
PrintStream
構造方法: 可以傳 字符串路徑 文件對象 字節流對象
PrintWriter
構造方法:字符串路徑 文件對象 字符流對象 字符流對象
注意:只有操作流對象 才能自動刷新
合併流
合併流(字節流 任何文件都能合併)
SequenceInputStream
作用:可以將多個文件合併成一個新文件
// 合併兩個文件
File file1 = new File("xx/Desktop/Test/1.txt");
File file2 = new File("xx/Desktop/Test/2.txt");
FileInputStream fis1 = new FileInputStream(file1);
FileInputStream fis2 = new FileInputStream(file2);
// 創建合併流
SequenceInputStream sis = new SequenceInputStream(fis1, fis2);
FileOutputStream fos = new FileOutputStream("/Users/lanou/Desktop/Test/4.txt");
int len = 0;
while ((len = sis.read()) != -1) {
fos.write(len);
}
fos.close();
sis.close();