当我定界一个字符串时(我最终想用字符定界)时,我遇到了一个奇怪的问题,我可以将其输出到屏幕上,但是当我尝试写入文本文件时,我得到了arrayIndexOutOfBoundsException。

    System.out.println(s[index]);
    String[] finalSplit = s[index].split("\\>");
    System.out.println(s[index]+finalSplit.length);
    System.out.println(finalSplit[1]);
    bufOut.write(finalSplit[1]);


上面的示例输出如下:

    <env:MessageSentDateTime>2011-11-17T11:22:33.456Z</env:MessageSentDateTime>
    <env:MessageSentDateTime>2011-11-17T11:22:33.456Z</env:MessageSentDateTime>2
    2011-11-17T11:22:33.456Z</env:MessageSentDateTime

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
          at Main.main(main.java:81)


如果不进行拆分,则可以将整个内容写到文本文件中,但我只希望信息不在中间。

有人对我要去哪里出错有任何建议吗?

最佳答案

排队

System.out.println(finalSplit[1]);


您正在访问不存在的元素1,因为拆分将全部移至finalSplit [0]。更改分割定界符(例如“>”)

关于java - Java:为什么不能使用BufferedReader将定界字符串写入文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13531341/

10-10 10:53