从文件中读取数据-Java

从文件中读取数据-Java,java,Java,我们使用String.split()来区分数据。如果我的客户希望访问文件中的数据,而该文件包含书籍数据,该怎么办 像这样:Book Name=ABC,Author=XYZ,Price=123 类似地,我有多个条目。如果我想从同一个文件中获取数据,但只需要特定作者或价格等的数据,我应该使用什么命令?创建一个简单的Book类。制作一个ArrayList并将文件内容吸入其中。然后,您可以轻松地从数组列表中提取数据。下面是一个如何从文件中读取数据的示例。它逐行读取文件。对于每一行,根据需要将其拆分并存储

我们使用
String.split()
来区分数据。如果我的客户希望访问文件中的数据,而该文件包含书籍数据,该怎么办

像这样:
Book Name=ABC,Author=XYZ,Price=123


类似地,我有多个条目。如果我想从同一个文件中获取数据,但只需要特定作者或价格等的数据,我应该使用什么命令?

创建一个简单的
Book
类。制作一个
ArrayList
并将文件内容吸入其中。然后,您可以轻松地从数组列表中提取数据。

下面是一个如何从文件中读取数据的示例。它逐行读取文件。对于每一行,根据需要将其拆分并存储:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class ReadTextFile {

    public static void main(String[] args) {

        String fileFullPath = "C:\\Temp\\data.txt";

        /** verify that file exists */
        File checkFile = new File(fileFullPath);
        if (!checkFile.exists()) {
            System.err.println("error - file does not exist");
            System.exit(0);
        }        

        BufferedReader br = null;
        try {
            String line;
            br = new BufferedReader(new FileReader(fileFullPath));

            /** keep reading lines while we still have some */
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (br != null)
                    br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    } //end main()

} //end ReadTextFile class

你能详细说明一下吗?我想知道如何从文本文件中提取内容而不实际读取整个文件,即如果我将书籍数据存储在一个.txt文件中。但我只想看XYZ作者的书。我该怎么做?希望我已经澄清了。@user3646145是以某种方式格式化的文件(例如CSV等)?@user3646145实际上,我认为最快的方法是在阅读文件时进行搜索,除非我不知道你可以对随机访问文件做些什么。不,不是。纯文本文件。面向对象编程。@user3646145如果文件真的很大,我会有点担心。我更倾向于使用HashMap,因为从中查找东西会更快。除非你需要改变你的搜索条件,在这种情况下有乐趣。。。