gpt4 book ai didi

java - 使用 bufferedReader 获取 .txt 文件,将其添加到 arraylist,并从中搜索单词

转载 作者:行者123 更新时间:2023-12-01 23:07:07 25 4
gpt4 key购买 nike

我有一个字典TXT.txt文件,其中存储单词及其含义,例如“苹果:水果”,“猫:动物”,“ bat :演奏乐器”等。现在我想获取用户的输入并寻找意义。我无法进行搜索。有人可以帮忙吗?

public static void main (String[] args) throws IOException
{
List<String> lines = new ArrayList<String>();
System.out.println("enter the word you want to search-");
Scanner in= new Scanner(System.in);
String input=in.nextLine();
FileReader fileReader = new FileReader("dictionaryTXT.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
lines.add(line);
}
String [] words = lines.toArray(new String[lines.size()]);
StringBuffer result = new StringBuffer();
for (int j = 0; j < words.length; j++)
{
result.append(words[j]);
}
String my = result.toString();
int i = my.indexOf(":");
String sub=my.substring(0,i);

if(sub.equals(input))
{

System.out.println(my);

}
else
{
System.out.println("word not found");
}
bufferedReader.close();
}

}

最佳答案

使用 Map<String, String> 。并使用Files.readAllLines() :

final Map<String, String> entries = new HashMap<>();
final Path dict = Paths.get("dictionaryTXT.txt");

String[] array;

for (final String line: Files.readAllLines(dict, StandardCharsets.UTF_8)) {
array = lines.split("\\s*:\\s*");
entrues.put(array[0], array[1]);
}

然后搜索一个词:

final String description = entries.get(input);

if (description == null)
System.out.println("not found");
else
System.out.println("definition: " + description);
<小时/>

当然,如果你的字典特别大,你会想要使用 Files.newBufferedReader()相反,逐行阅读。

此外,上面的代码缺乏基本的错误检查;留给读者的练习

关于java - 使用 bufferedReader 获取 .txt 文件,将其添加到 arraylist,并从中搜索单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22596022/

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