-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBufferedInputFile.java
More file actions
38 lines (28 loc) · 1014 Bytes
/
Copy pathBufferedInputFile.java
File metadata and controls
38 lines (28 loc) · 1014 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package Chapter18_IO;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
* 文件到缓存后使用 (BufferedReader)
* 流程 :
* 1. BufferReader 将 filename 一次性全部读进来
* 2. 循环读 BufferReader 写入 StringBuilder (每次从 buffer 中取一行, 比从文件中取快)
* 3. 关闭文件
* 4. 将 StringBuilder 输出
*/
public class BufferedInputFile {
public static String read(String filename) throws IOException {
BufferedReader in = new BufferedReader(new FileReader(filename));
StringBuilder sb = new StringBuilder();
String s;
while ((s = in.readLine()) != null) {
sb.append(s + '\n'); // 注 : readLine 会将换行去掉
}
in.close();
return sb.toString();
}
// 测试 : 直接读本 java 文件
public static void main(String[] args) throws IOException {
System.out.println(read("src\\Chapter18_IO\\BufferedInputFile.java"));
}
}