gpt4 book ai didi

java - 读取文本文件时出现问题,烦人的错误

转载 作者:行者123 更新时间:2023-12-01 09:30:36 26 4
gpt4 key购买 nike

我正在尝试解析此文本文件,但我不断收到错误

"error reading file exception"

来 self 的代码。我一遍又一遍地查看代码,但看不出有什么问题。关于可能出现的错误有什么想法吗?我知道这不是文本文件的路径,因为我制作了一个快速简单的 I/O 程序来测试它,并且它有效。

public static List<String> parseCode() {
List<String> inputList = new ArrayList<String>();

String File = "Sample1.txt";
String line = null;
try
{
FileReader fr = new FileReader(File);

BufferedReader br = new BufferedReader(fr);
String add = "";

boolean comment = false;
while((line = br.readLine()) != null)
{
String [] s = line.split(" ");
for(int i = 0; i < s.length; i++)
{
if(s[i].contains("/*"))
{
comment = true;
}

if(!comment)
{
add += s[i];
if(i < s.length-1 && add.length() > 0)
{
add += " ";
}

}

if(s[i].contains("*/"))
{
comment = false;
}
}
if(add.length() > 0)
{
inputList.add(add);
}

br.close();
}
}
catch(FileNotFoundException E)
{
System.out.println("File Not Found");
}
catch(IOException E)
{
System.out.println("Error Reading File Sample1.txt");
}
return inputList;
}

最佳答案

您的br.close();位于while循环中,但应位于循环之后。这样您就可以在阅读第一行后关闭文件。

因此固定代码(未经测试)应如下所示:

public static List<String> parseCode() {
List<String> inputList = new ArrayList<String>();

String File = "Sample1.txt";
String line = null;
try
{
FileReader fr = new FileReader(File);

BufferedReader br = new BufferedReader(fr);
String add = "";

boolean comment = false;
while((line = br.readLine()) != null)
{
String [] s = line.split(" ");
for(int i = 0; i < s.length; i++)
{
if(s[i].contains("/*"))
{
comment = true;
}

if(!comment)
{
add += s[i];
if(i < s.length-1 && add.length() > 0)
{
add += " ";
}

}

if(s[i].contains("*/"))
{
comment = false;
}
}
if(add.length() > 0)
{
inputList.add(add);
}
}
br.close();
}
catch(FileNotFoundException E)
{
System.out.println("File Not Found");
}
catch(IOException E)
{
System.out.println("Error Reading File Sample1.txt");
}
return inputList;
}

关于java - 读取文本文件时出现问题,烦人的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39444640/

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