找到一个单词并复制它所在的行';Java中的s
我正在尝试创建一个小程序,允许您在文本文件中搜索单词,然后该程序将打印出文本所在的整行 例如:找到一个单词并复制它所在的行';Java中的s,java,text-files,Java,Text Files,我正在尝试创建一个小程序,允许您在文本文件中搜索单词,然后该程序将打印出文本所在的整行 例如: test.txt don't mind this text don't mind this either 然后,当你让程序搜索“文本”这个词时,它应该打印出“不介意这个文本” 最好的方法是什么 这就是我所拥有的 public boolean findFileInCache(){ try (BufferedReader br = new BufferedReader(new
test.txt
don't mind this text
don't mind this either
然后,当你让程序搜索“文本”这个词时,它应该打印出“不介意这个文本”
最好的方法是什么
这就是我所拥有的
public boolean findFileInCache(){
try (BufferedReader br = new BufferedReader(new FileReader("direct.txt")))
{
while ((name = br.readLine()) != null)
{
Process p = Runtime.getRuntime().exec(name);
}
}
catch (IOException e1) { }
return true;
}
用于使用方法逐行读取文件
对于每一行,使用正则表达式检查单词是否在其中,或者通过将该行拆分为字符串[]
(使用),然后迭代结果数组中的条目以检查其中是否有所需的单词。如果有所需的单词-打印整行
如果选择第二个建议,请不要忘记使用equals()
检查两个字符串的相等性,而不要使用=
使用此方法逐行读取文件
对于每一行,使用正则表达式检查单词是否在其中,或者通过将该行拆分为字符串[]
(使用),然后迭代结果数组中的条目以检查其中是否有所需的单词。如果有所需的单词-打印整行
如果您选择了第二个建议,请不要忘记使用
equals()
检查两个字符串的相等性,而不要使用=
检查两个字符串的相等性。您需要做以下几件事:
- 使用
BufferedReader.readLine()
- 您在
循环中执行此操作,因此一次只能处理一行while
name
是一个字符串。最好是:
while ((String name = br.readLine()) != null) {
... do something with `line`
}
如果您的代码在编译时没有字符串
,则表示您将名称
声明为全局。在你知道自己在做什么之前,不要那样做
把事情分解成方法是好的;因此,让我们现在就用一种方法“用行做点什么”
:
while ((String name = br.readLine()) != null) {
if(matches(line,"text")) {
System.out.println(line);
}
}
现在您需要编写匹配项()
:
那么,如何编写matches()
那么,首先看看
String
中可用的方法。它有类似于contains()
和split()
的方法。其中一些方法返回其他类型,如数组。您的教材和参考资料告诉您如何查看数组。答案就在那里 您需要做几件事:
- 使用
BufferedReader.readLine()
- 您在
循环中执行此操作,因此一次只能处理一行while
name
是一个字符串。最好是:
while ((String name = br.readLine()) != null) {
... do something with `line`
}
如果您的代码在编译时没有字符串
,则表示您将名称
声明为全局。在你知道自己在做什么之前,不要那样做
把事情分解成方法是好的;因此,让我们现在就用一种方法“用行做点什么”
:
while ((String name = br.readLine()) != null) {
if(matches(line,"text")) {
System.out.println(line);
}
}
现在您需要编写匹配项()
:
那么,如何编写matches()
那么,首先看看
String
中可用的方法。它有类似于contains()
和split()
的方法。其中一些方法返回其他类型,如数组。您的教材和参考资料告诉您如何查看数组。答案就在那里 实际上,尝试它通常是编写程序的最佳方式。克里斯托弗,我知道,我实际上也在尝试。从昨天开始,我试了试,但似乎什么也做不到。到目前为止,你有什么发现?你做了什么?你有什么特别的问题吗?通常,你应该有一个具体的问题,我们可以回答。你读过文件了吗?用我得到的代码更新了帖子,它读入了文件,但我需要它只使用我搜索的单词不实际尝试的那一行。这通常是编写程序的最佳方式。克里斯托弗,我知道,实际上我也在尝试。从昨天开始,我试了试,但似乎什么也做不到。到目前为止,你有什么发现?你做了什么?你有什么特别的问题吗?通常情况下,你应该有一个具体的问题,我们可以回答。到目前为止你在文件中阅读了吗?用我得到的代码更新了帖子,它读入了文件,但我需要它只使用我搜索的单词不精确的那一行。提供所有信息,让他们把它们拼凑起来+1Indeed,我更喜欢当我可以把这些片段组合在一起的时候+1并被接受为答案。谢谢杰出的提供所有信息,让他们把它们拼凑起来+1Indeed,我更喜欢当我可以把这些片段组合在一起的时候+1并被接受为答案。谢谢