【发布时间】:2010-10-31 20:40:47
【问题描述】:
我有以下类写入文件但没有按我的意愿工作。我在 while 循环中调用 write 方法,以便将字符串写入新行。它只写入最后一个字符串。除了最后一个,前面的都不写了。
这是课程:
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class Writer {
private static PrintWriter outputStream = null;
public Writer(String algorithmName){
try {
outputStream = new PrintWriter(new FileWriter(algorithmName+".txt"));
} catch (IOException e) {
e.printStackTrace();
}
}
public void write(String str){
try {
outputStream.append(str);
}catch(Exception exc){
} finally {
if (outputStream != null) {
outputStream.close();
}
}
}
}
示例代码:
Writer w = new Writer("filename");
for(int = i; i < 10; i++){
w.write(i);
}
在这种情况下,我得到了结果:
9
而不是
0
1
2
3
...
9
我做错了什么?
谢谢
【问题讨论】:
-
您可能应该将您的类称为 Writer 以外的名称,因为已经有一个 java.io.Writer。只是为了避免不必要的歧义。