Java中如何实现读取本地文件内容的函数?
发布时间:2023-06-12 19:48:44
在Java中,可以使用多种方式来读取本地文件内容,主要包括以下三种方法:使用FileInputStream、BufferedReader和Scanner类分别读取文件内容。
1. 使用FileInputStream类读取本地文件
FileInputStream类是Java IO包提供的读取文件内容的一种方式。使用该类需要创建一个FileInputStream对象,并将待读取文件的路径和文件名作为参数传入。接着,可以使用read()方法读取文件内容,并将其转换为字符或字节数组。
下面是一个使用FileInputStream类读取本地文件内容的示例代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
File file = new File("example.txt");
try (FileInputStream fis = new FileInputStream(file)) {
byte[] data = new byte[(int) file.length()];
fis.read(data);
String content = new String(data, "UTF-8");
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. 使用BufferedReader类读取本地文件
BufferedReader类是Java IO包提供的一个高效读取文件内容的类。使用该类需要创建一个BufferedReader对象,并将FileReader对象作为参数传入。接着,可以使用readLine()方法逐行读取文件内容,并将其存放在字符串中。
下面是一个使用BufferedReader类读取本地文件内容的示例代码:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
File file = new File("example.txt");
try (BufferedReader br = new BufferedReader(new FileReader(file))){
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 使用Scanner类读取本地文件
Scanner类是Java.util包提供的读取文件内容的类,使用该类需要创建一个Scanner对象,并将File对象作为参数传入。接着,使用nextLine()方法逐行读取文件内容,并将其存放在字符串中。
下面是一个使用Scanner类读取本地文件内容的示例代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFile {
public static void main(String[] args) {
File file = new File("example.txt");
try {
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
注意:以上方法可能会抛出IOException和FileNotFoundException异常,需要进行异常处理或者使用try-with-resources语句自动关闭文件流。
