Java 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

我想解析一个数字文件。我实现了解析,但是当我更改文件内容时,我得到了StringIndexOutOfBoundsException。任何帮助都将不胜感激

我的代码如下:

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;
}