Java 提供 BufferedReader 类用来从流中读取字符串、FileReader 类用来读取文件。我们用这两个类来读取文件中的字符串。
下面是一个例子:
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.IOException;
- public class ReadFile {
- public static void main(String[] args) {
- String path = "c:/1.txt"; // 定义文件路径
- String content = ""; // content 保存文件内容,
- BufferedReader reader = null; // 定义 BufferedReader
- try {
- reader = new BufferedReader(new FileReader(path));
- // 按行读取文件并加入到 content 中。
- // 当 readLine 方法返回 null 时表示文件读取完毕。
- String line;
- while ((line = reader.readLine()) != null) {
- content += line + "/n";
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- // 最后要在 finally 中将 reader 对象关闭
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- System.out.println("文件内容:" + content);
- }
- }
我们把读取文件的那一段提取出来:
- public class ReadFile {
- public static void main(String[] args) {
- String path = "c:/1.txt"; // 定义文件路径
- try {
- String content = readFile(path);
- System.out.println("文件内容:" + content);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- /**
- * 读取指定的文本文件,并返回内容
- *
- * @param path 文件路径
- * @return 文件内容
- * @throws IOException 如果文件不存在、打开失败或读取失败
- */
- private static String readFile(String path) throws IOException {
- String content = "";
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new FileReader(path));
- String line;
- while ((line = reader.readLine()) != null) {
- content += line + "/n";
- }
- } finally {
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {
- // 关闭 Reader 出现的异常一般不需要处理。
- }
- }
- }
- return content;
- }
- }