从文件中读取数据-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,因为从中查找东西会更快。除非你需要改变你的搜索条件,在这种情况下有乐趣。。。