![](/img/trans.png)
[英]Why can't I read an integer from a text file using a BufferedReader?
[英]Java: Why can't I write delimited String to a file using a BufferedReader?
当我定界一个字符串时我遇到了一个奇怪的问题(我最终想用<和>字符定界),然后可以将其输出到屏幕上,但是当我尝试写入文本文件时,我得到了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]。 更改分割定界符(例如“>”)
我不确定您使用的是哪个BufferedOutStream
。 下面的工作正常(您需要传递byte[]
来write
方法):
String s=
"<env:MessageSentDateTime>2011-11-17T11:22:33.456Z</env:MessageSentDateTime>";
String[] finalSplit = s.split("\\>");
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(new File("delimited.txt")));
bos.write(finalSplit[1].getBytes());
bos.close();
它在delimited.txt
文件中写道: 2011-11-17T11:22:33.456Z</env:MessageSentDateTime
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.