Java:为什么我不能使用 BufferedReader 将分隔字符串写入文件?

标签 java

当我分隔字符串时,我遇到了一个奇怪的问题(我最终想用 < 和 > 字符分隔),然后我可以将其输出到屏幕,但是当我尝试写入文本文件时,我得到一个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:为什么我不能使用 BufferedReader 将分隔字符串写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13531341/

相关文章:

java - Servlet 初始化内部的 Init 过滤器

java - 如何更改hibernate为主键字段插入的默认值?

java - 将 urlconnection 文件从 App Engine java 保存到 Google 云存储

java - headless 的 ChromeDriver 引发 ElementNotVisibleException

java - 如何在android中使用计时器设置进度条?

java - 在 macOS 上使用 DTrace 分析 Java 应用程序

java - 具有多个 fragment 的两个 Activity 之间的空对象引用

java - 默认和用户提供的 Spring 属性文件

java - 静态场和网络游戏

java - 如何使用 Java 获取 XML 节点值?