gpt4 book ai didi

java - 如何从文本文件返回特定行?

转载 作者:行者123 更新时间:2023-12-02 01:24:46 26 4
gpt4 key购买 nike

在“while”条件内,它显示正确的行,但是当我尝试在“while”之外显示同一行时,它会显示文本文件的最后一行。

public String path() throws FileNotFoundException { 

Scanner s = null;
String str;
try {
s = new Scanner(new BufferedReader(new
FileReader("src/main/resources/linda.txt")));
do{
str=s.next();
if((s.hasNext(("get:"))||s.hasNext(("post:")) || s.hasNext(("put:")) || s.hasNext(("delete:"))))
{
System.out.println(str);
}
}while(s.hasNext());
}
finally{
if (s != null) {
}

} System.out.println(str);

return str;

}

我希望这段代码的输出是
fraudcheck/:fraudcheck/:,但实际输出是fraudcheck/: foo:

这是我的文本文件

openapi: "3.0.0"
info:
title: Simple API overview
version: 2.0.0
paths:
fraudcheck/:
get:
operationId: listVersionsv2
summary: List API versions
responses:
'200':
description: |-
200 response
content:
application/json:
examples:
foo:

最佳答案

您可以定义新变量String result,并在达到所需条件时将您的行存储在其中,然后输出该变量。但是循环的执行将继续并且效率不高。

String result;
........
if((s.hasNext(("get:"))||s.hasNext(("post:")) || s.hasNext(("put:")) || s.hasNext(("delete:"))))
{
result = str;
System.out.println(str);
}

.......
System.out.println(result);

因此,如果您只需要一行,那么如果您将 break 放在条件 block 的末尾,就像这样

if((s.hasNext(("get:"))||s.hasNext(("post:")) || s.hasNext(("put:")) || s.hasNext(("delete:"))))
{
System.out.println(str);
break;
}

在这种情况下,当条件为真时循环停止,并且变量 str 将具有所需行的值。

关于java - 如何从文本文件返回特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57097116/

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