Java函数-如何从文件中读取数据?
发布时间:2023-11-12 20:14:58
在Java中,可以使用java.io包中的类来从文件中读取数据。以下是一种常用的方法:
1. 打开文件:首先,需要通过创建java.io.FileReader或java.io.BufferedReader对象来打开文件。FileReader用于读取字符文件,而BufferedReader用于读取文本文件。
FileReader fr = new FileReader("filename.txt"); // 字符文件
BufferedReader br = new BufferedReader(fr); // 文本文件
2. 读取数据:然后,可以使用read()或readLine()方法从文件中读取数据。read()方法返回一个int类型的值,表示读取的一个字符的ASCII码值,如果已到达文件末尾,则返回-1。readLine()方法返回从文件中读取的一行文本,如果已到达文件末尾,则返回null。
int data = fr.read(); // 读取一个字符 String line = br.readLine(); // 读取一行文本
3. 处理数据:可以在读取数据后对其进行处理,例如输出到控制台或存储在变量中。
System.out.println((char)data); // 输出一个字符 System.out.println(line); // 输出一行文本
4. 关闭文件:在读取完数据后,必须关闭文件以释放系统资源。
fr.close(); // 关闭字符文件 br.close(); // 关闭文本文件
注意事项:
- 在使用FileReader和BufferedReader时,必须处理IOException异常。
- 如果文件不存在或无法读取,会抛出FileNotFoundException异常。
- 建议使用try-catch块来处理异常,并在finally块中关闭文件。
完整的示例代码如下:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReadExample {
public static void main(String[] args) {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("filename.txt");
br = new BufferedReader(fr);
int data;
while((data = fr.read()) != -1) {
System.out.print((char)data);
}
String line;
while((line = br.readLine()) != null) {
System.out.println(line);
}
} catch(IOException e) {
e.printStackTrace();
} finally {
try {
if(fr != null) {
fr.close();
}
if(br != null) {
br.close();
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
}
以上就是从文件中读取数据的基本方法,你可以根据具体的需求进行调整和扩展。
