在Java中搜索文本文件中的关键字
我有一个文本文件,我正在阅读,我只需要读取这个文件中的关键字,以及该关键字的值等于什么,例如,缓冲区=20,你知道从哪里开始研究吗 我有以下解决方案可供您使用:在Java中搜索文本文件中的关键字,java,Java,我有一个文本文件,我正在阅读,我只需要读取这个文件中的关键字,以及该关键字的值等于什么,例如,缓冲区=20,你知道从哪里开始研究吗 我有以下解决方案可供您使用: 因为我不知道你的源文件是什么,所以我使用了 当前源html页面并另存为“targetFile.html” 我创建了一个简单的类TestScanner,它将 targetFile.html,用于所有出现的“buffer=xxx” 希望你觉得这很有用 向您致意,Franklin Neves值存储在哪里?Wellregex,filereade
向您致意,Franklin Neves值存储在哪里?Well
regex
,filereader
,fileinputstream
,String.split()
-应该足够了。如果这是一个“类似属性”的文件,您可能可以使用javaProperties
将该文件作为属性文件打开,并读取键和相关值。正如@Vwin所说,您没有告诉我们值存储在哪里。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author Franklin Neves
*
*/
public class TestScanner {
public static void main(String[] args) {
try {
// Get the current path
String currentPath = TestScanner.class.getProtectionDomain()
.getCodeSource().getLocation().getPath();
// Convert file to String
String fileContent = new Scanner(new File(currentPath
+ "targetFile.html")).useDelimiter("\\Z").next();
// Create pattern to filter the desired "buffer = XXX"
Pattern pat = Pattern.compile("buffer = \\d*",
Pattern.CASE_INSENSITIVE);
// Apply pattern to the content
Matcher mat = pat.matcher(fileContent);
// Loop to all occurrences
while (mat.find()) {
// Print each occurrence
System.out.println(mat.group());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}