新手关于IO写出文件中途出错如何修改前面已经完成部分的问题
悬赏:30 发布时间:2008-05-30 提问人:geminiyellow (初级程序员)
用BufferedWriter写文件,例如下面:
两个问题:
1:当写出Line2时出错,Line1要保存
2:当写出Line3时出错,Line2要清除,Line1保存。
请指教,谢谢。
问题补充:
提示下,java的nio包里面的FileChannel也许对你有帮助。
问题补充:
没人回答不是个好事情。
用FileChannel,里面有position()这个方法,可以获取到读写指针位置,还有truncate(int)方法,可以把文件需要的大小切割下来。所以这两个组合可以做到。
该问题已经关闭: 没热心人。
public static void main(String[] args) {
File file = new File("C:\\Test.txt");
try {
file.createNewFile();
FileOutputStream os = new FileOutputStream(file);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os));
file.createNewFile();
FileOutputStream os = new FileOutputStream(file);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os));
writer.write("Line1");
writer.newLine();
writer.write("Line2");
writer.newLine();
writer.write("Line3");
writer.close(); writer.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
两个问题:
1:当写出Line2时出错,Line1要保存
2:当写出Line3时出错,Line2要清除,Line1保存。
请指教,谢谢。
问题补充:
提示下,java的nio包里面的FileChannel也许对你有帮助。
问题补充:
没人回答不是个好事情。
用FileChannel,里面有position()这个方法,可以获取到读写指针位置,还有truncate(int)方法,可以把文件需要的大小切割下来。所以这两个组合可以做到。
该问题已经关闭: 没热心人。




