使用FileWriter创建文本文件的程序。import java.io.FileWriter;import java.io.IOException;class Wx { public static void main(String args[]) throws IOException { String str = "Oh ho ho ho oh ho ho ho oh ho ho ho ohho ishq tera tadpaaweee "; FileWriter f = new FileWriter("text"); for (int i = 0; i < str.length(); i++) { f.write(str.charAt(i)); f.close(); } }}这个异常即将到来:Exception in thread "main" java.io.IOException: Stream closed at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:26) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:99) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:94) at java.io.OutputStreamWriter.write(OutputStreamWriter.java:177) at Wx.main(Wx.java:10)这个异常一次又一次的出现,经过一番努力还是无法消除。
2 回答
BIG阳
TA贡献1859条经验 获得超6个赞
您不断关闭 for 循环内的流。将其移到大括号之外,如下所示:
import java.io.*;
class Wx {
public static void main(String args[]) throws IOException {
String str="Oh ho ho ho oh ho ho ho oh ho ho ho ohho ishq tera tadpaaweee";
FileWriter f=new FileWriter("text");
for(int i=0;i<str.length();i++) {
f.write(str.charAt(i));
}
f.close();
}
}
哔哔one
TA贡献1854条经验 获得超8个赞
FileWriter实现Closeable(JDK 1.5) ,因此您还可以使用显try-with-resources式依赖于closing()流的语句:
try (FileWriter f = new FileWriter("text")) {
for (int i = 0; i < str.length(); i++) {
f.write(str.charAt(i));
}
}
添加回答
举报
0/150
提交
取消