在Java中查找文件中的字符串



我在寻找一种在文件中搜索字符串的方法。我有一个名为data.csv的文件,它存储在一个名为actualDataName的变量中。

String actualDataName = "data.csv"

我有多个元数据文件,例如test1.meta,test2.info等。它们存储在一些数据库中的表中,我将它们存储在ResultSetResultSet中。在ResultSet中存储以下行:

DATE      | FILEPATH               | FILE          
01032020  | /path/to/test1.meta    | test1.meta    
02032020  | /path/to/test2.meta    | test2.info    

对我来说,列"FILEPATH"很有趣。在每个元数据文件中,指向一个属于该元数据文件的csv文件。因此,我必须为每个数据文件找到相应的元数据文件名。由于元数据文件的结构并不总是相同的,我认为我可以在文件中搜索字符串(data.csv),如果它找到它,那么它应该说它属于这个元数据文件。元数据文件structure1:

{
"sourceFilename": "data.csv",
"recordCount": "0000320989",
}

元数据文件结构2:

Source file name:         data.csv
Data Record count:        44

我已经浏览了这里的帖子,并找到了一种使用扫描仪读取文件的方法,但它不起作用。

while (r.next()) {
String metaFilePath = r.getString("FILEPATH");
String metaFile = r.getString("FILENAME");
String actualDataName = "data.csv"
Scanner scanner = new Scanner(metaFilePath);
while (scanner.hasNextLine()) {
if (actualDataName.equals(scanner.nextLine().trim())) {
System.out.println("found");;
break;
} else {
System.out.println("not found");
}

有人能帮我找到属于元数据文件的数据文件名吗?

创建一个文件对象并将其传递给扫描器

File myFile = new File("path/to/filename.csv");
Scanner scanner = new Scanner(myFile);