【发布时间】:2013-08-22 12:32:22
【问题描述】:
我有一个简单的应用程序,但会丢弃一个文本文件(这只是练习)我只有 3 天使用 Java。问题是在您运行程序之前没有错误,然后它会引发异常并停止。谢谢你。 这是一个例外:
java.io.IOException: Stream closed
at sun.nio.cs.StreamEncoder.ensureOpen(Unknown Source)
at sun.nio.cs.StreamEncoder.write(Unknown Source)
at sun.nio.cs.StreamEncoder.write(Unknown Source)
at java.io.OutputStreamWriter.write(Unknown Source)
at java.io.Writer.write(Unknown Source)
at test.main(test.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
这是代码。
import java.io.FileWriter;
import java.util.Random;
import java.io.IOException;
public class test {
public static void main(String[] args) throws IOException {
final String alphabet = "abcdefghigklmnopqrstuvwxyz";
final int N = alphabet.length();
Random r = new Random();
FileWriter file = new FileWriter("hello.txt");
String sb = " ";
for (int i = 0; i < 1;) {
sb += alphabet.charAt(r.nextInt(N));
System.out.println(sb);
int length = sb.length();
file.write(sb);
file.close();
if (length == 30) {
sb = " ";
}
}
}
}
【问题讨论】:
-
欢迎来到 StackOverflow ;) 当您询问有关异常的问题时,请显示堆栈跟踪。
-
有什么异常?
-
您的 for 循环不会增加 i。事实上它的状态也看起来很奇怪
-
Offtopic:类名应该以大写字母开头。这是一个被广泛接受的惯例。
-
循环中有
file.close()。