欢迎访问宙启技术站
智能推送

Java函数-如何从文件中读取数据?

发布时间:2023-11-12 20:14:58

在Java中,可以使用java.io包中的类来从文件中读取数据。以下是一种常用的方法:

1. 打开文件:首先,需要通过创建java.io.FileReaderjava.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(); // 关闭文本文件
   

注意事项:

- 在使用FileReaderBufferedReader时,必须处理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();
            }
        }
    }
}

以上就是从文件中读取数据的基本方法,你可以根据具体的需求进行调整和扩展。