新手关于IO写出文件中途出错如何修改前面已经完成部分的问题

悬赏:30 发布时间:2008-05-30 提问人:geminiyellow (初级程序员)

用BufferedWriter写文件,例如下面:
    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)方法,可以把文件需要的大小切割下来。所以这两个组合可以做到。
该问题已经关闭: 没热心人。