java file类 创建文件 如何不覆盖已存在文件

File f=new File("f:/C.txt"); 重复创建的话覆盖了已有文件。

        File f = new File("f:/C.txt");

        try {
            FileWriter fw = new FileWriter(f);
            fw.append("abc");
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

添加内容用append,new File()命令是没有覆盖功能的。所以我可能还没理解你的意思,毕竟一个目录只能存有一个同名的文件。

追问

重复创建不会覆盖吗?那可能是我其他地方写错了。
另外,我这段代码会覆盖吗?
BufferedWriter bw = new BufferedWriter(fw);
bw.write(str1.substring(88, b)+"\r\n");

追答

你应该用 bw.append()方法。这个方法是内容追加在末尾呢。
因为write是会把内容覆盖的。但是不是把文件覆盖。
你应该搞清楚这个概念。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-31
File f=new File("f:/C.txt",true);
这样试试
第2个回答  2015-09-07
File file= new File("D:\\abv.txt");
if (!file.exists()){
//不存在则创建
file.createNewFile();
}else{
System.out.println("文件已存在");
}本回答被网友采纳
相似回答