gpt4 book ai didi

java - 使用扫描器从一个字符串读取文件到另一个字符串

转载 作者:行者123 更新时间:2023-12-02 03:32:36 24 4
gpt4 key购买 nike

我正在创建一个程序,我必须在其中读取特殊的文本文件。我在从指定单词到另一个指定单词(不包括这些单词)读取文本时遇到问题。使用扫描仪是解决这个问题的好方法吗?我的意思是这样的:

“文本1

文本2

文本3

文本4

文本5“

我想从中获取带有“text2 text3 text4”的字符串。

我尝试使用 useDelimeter 但我不知道如何将其应用于这种情况。我创建了一种允许我跳过行的方法,但从长远来看这不是一个好的解决方案,它仅适用于一个指定的文件。

这是我想在这里实现的方法之一

private String readFile3(File file) {
try {
Scanner sc = new Scanner(file);
//skipLine(sc, 8);
sc.useDelimiter("R");

String sentence = sc.next();
textAreaD.setText(sentence);

} catch (FileNotFoundException e) {
System.out.println("No file");
}
return null;
}

最佳答案

像这样怎么样:

private String readFile3(File file) {
try {
Scanner sc = new Scanner(file);
boolean save = false;
String sentence = "";
String temp = "";

while (sc.hasNextLine()) {
temp = sc.nextLine();
if (sentence.contains("text1")) {
if (!save) {
temp = sc.nextLine();
}
save = true;
}
if (sentence.contains("text5")) {
save = false;
}
if (save) {
sentence = sentence + temp;
}
}
// skipLine(sc, 8);
//sc.useDelimiter("R");
sentence = sentence.replaceAll("\\n", "");
textAreaD.setText(sentence);

} catch (FileNotFoundException e) {
System.out.println("No file");
}
return null;
}

应读出“text1”和“text5”之间的所有字符串。如果您也想保存它,也许您需要进行更多格式化并检查“text1”是否出现多次,但我希望它对您有所帮助。

关于java - 使用扫描器从一个字符串读取文件到另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56876575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com