java文件写入注意点

来源:互联网 发布:对阿里云的理解 编辑:程序博客网 时间:2024/05/01 18:27

java写文件注意事项:

  • 在利用BufferedWriter写文件时,默认写到文件的末尾;
  • 在写文件时,如果对同一个文件创建多个写入流时要注意指针的问题,因为多个输入流在写入文件时,都有各自独立的指针指向文件,当用多个写入流写入文件时,很容易造成写入的混乱,后写入的覆盖之前写入的。例如我们现在对同一个文件test递归调用write写入流来写,如以下代码:
public void writeFile(int count){    File f = new File("e:\\test");    try{        f.creatNewFile();        FileWriter fw = new FileWriter(f, true);        BufferedWriter bw = new BufferedWriter(fw);        bw.write("i");        ++count;        if(count > 2)            return;        writeFile(count);        bw.write("j");        bw.newLine();        bw.close();        fw.close();    }catch(IOException e){        e.printStackTrace();    }}

我们可以发现当第一层写完一个i之后,就递归进入了第二层,此时第一层中的指针是指向文件末尾,即i之后的一个位置,进入第二层后,因为默认写到文件末尾,因此第二层在i之后的那个位置又写了一个i,如果此时递归跳出,调到第一层,因为第一层的指针依然指向第二个i所在的位置,因此此时在此位置上写入j,把第二层所写的i覆盖,文件中的前三个位置的字母应该是ijj。

0 0
原创粉丝点击