java在文件中搜索字符串 2 日,11 小时 Questions & Answers 70 我希望用Java编写一个函数,在文本文件中搜索特定字符串。我应该使用哪个循环以及如何使用?(假设这是一个while循环,条件是什么?)
# 1 楼答案 最常用的循环是while循环,因为如果从文件中退出的字符串不是null,则需要进行循环和比较。 好吧,这是说,让我们看看一些代码。您可以编写的一个解决方案是首先在BufferedReader实例中打开文件,然后逐行读取,并查看该行是否包含您要查找的字符串。 如果是,您可以使用boolean变量并将其赋值为true,否则将其赋值为false。 您可以在Java中使用类似的内容: public static boolean findStringFile(String lookingForMe, String pathFile) { boolean found = false; try{ BufferedReader br = new BufferedReader(new FileReader(pathFile)); try{ String line; while ((line = br.readLine()) != null) { if (line.contains(lookingForMe)) found = true; } } finally { br.close(); } } catch(IOException ioe) { System.out.println("Error while opening the file !"); } return found; } 此函数将获取String lookingForMe作为第一个参数,表示您正在文件中搜索的字符串,作为第二个参数String pathFile,表示文件的路径(当它位于项目的根目录中时,它可以是nameOfTheFile.extension) 希望这能对你有所帮助 编辑 以下代码部分(以下)的执行并不总是成功的,如果您的文件有问题(文件不存在或由于特权或其他原因无法打开)或任何其他问题,执行将停止并引发异常 BufferedReader br = new BufferedReader(new FileReader(pathFile)); String line; while ((line = br.readLine()) != null) { if (line.contains(lookingForMe)) found = true; } “try”的目标是通过显示用户错误消息(您用system.out.println("Your error message")指定的消息)来避免此类问题 您应该使用带有try块(第一个)的代码(以避免上面列出的问题) 关于Java中异常的进一步解释,我建议访问:https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html
# 2 楼答案 我通常使用的是BufferedReader并创建一个类似while的循环 while((line = reader.readLine()) != NULL) { //do stuff }
# 1 楼答案
最常用的循环是
while
循环,因为如果从文件中退出的字符串不是null
,则需要进行循环和比较。 好吧,这是说,让我们看看一些代码。您可以编写的一个解决方案是首先在BufferedReader
实例中打开文件,然后逐行读取,并查看该行是否包含您要查找的字符串。 如果是,您可以使用boolean
变量并将其赋值为true,否则将其赋值为false。 您可以在Java中使用类似的内容:此函数将获取
String lookingForMe
作为第一个参数,表示您正在文件中搜索的字符串,作为第二个参数String pathFile
,表示文件的路径(当它位于项目的根目录中时,它可以是nameOfTheFile.extension
)希望这能对你有所帮助
编辑
以下代码部分(以下)的执行并不总是成功的,如果您的文件有问题(文件不存在或由于特权或其他原因无法打开)或任何其他问题,执行将停止并引发异常
“try”的目标是通过显示用户错误消息(您用
system.out.println("Your error message")
指定的消息)来避免此类问题您应该使用带有try块(第一个)的代码(以避免上面列出的问题)
关于Java中异常的进一步解释,我建议访问:https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html
# 2 楼答案
我通常使用的是BufferedReader并创建一个类似while的循环