Java StringIndexOutOfBoundsException错误
我想解析一个数字文件。我实现了解析,但是当我更改文件内容时,我得到了StringIndexOutOfBoundsException。任何帮助都将不胜感激 我的代码如下:Java StringIndexOutOfBoundsException错误,java,file,parsing,file-io,Java,File,Parsing,File Io,我想解析一个数字文件。我实现了解析,但是当我更改文件内容时,我得到了StringIndexOutOfBoundsException。任何帮助都将不胜感激 我的代码如下: public void fileParse() throws IOException { File f = new File("180214.txt"); File f1 = new File("salelog.txt"); String s = null; FileWriter fw
public void fileParse() throws IOException
{
File f = new File("180214.txt");
File f1 = new File("salelog.txt");
String s = null;
FileWriter fw = new FileWriter(f1);
PrintWriter pw = new PrintWriter(fw);
BufferedReader br = new BufferedReader(new FileReader(f));
while((s=br.readLine())!=null)
{
if(s.charAt(0) == '0')
{
pw.println("<receipt>");
pw.println(s);
continue;
}
if(s.charAt(0)=='8')
{
pw.println(s);
pw.println("</receipt>");
continue;
}
pw.println(s);
}
// br.close();
pw.close();
br1.close();
}
}
这里唯一可以抛出
索引AutofBoundsException
的是
s.charAt(0)
代码
这意味着在第一个位置的这一行中没有任何内容=空行
在循环开始时尝试以下操作:
if(s == null || s.trim().length() == 0)
{
System.out.println("Empty line found.");
continue;
}
您有两个BufferedReader元素。您使用的是正确的吗?文件“f1”的路径是什么?它应该是文件中的第一行。是否也发布stacktrace?你在文件中更改了什么?可能文件中的某个地方有空行?@user3465623只有一行。@user2382867尝试使用“print”命令而不是“println”命令。您的文本文件末尾很可能有空行。上面显示的内容适用于给定的代码。
if(s == null || s.trim().length() == 0)
{
System.out.println("Empty line found.");
continue;
}