miss2671228 2015-05-14 08:58 采纳率: 100%
浏览 35359
已采纳

JAVA中如何判断一个文件是否存在,如果不存在则创建它?

JAVA中如何判断一个文件是否存在,如果不存在则创建它?
求帮助
源码如下:

 public void SaveFile(String fileName,String content) throws IOException{
        File file =new File(fileName);
        if(!file.exists()){       
            System.out.println("不存在");
            System.out.println(file.createNewFile());
            file.createNewFile();
        } 
        FileOutputStream fos = new FileOutputStream(file,true);
        OutputStreamWriter out =new OutputStreamWriter(fos,"utf-8");
        BufferedWriter bw = new BufferedWriter(out);
        bw.write(content);
        bw.write("\r\n");
        bw.flush();
    }

每次执行都提示我:

 不存在
java.io.IOException: 系统找不到指定的路径。
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:883)
    at com.sdzw.test.dao.FilesDAO.SaveFile(FilesDAO.java:24)
    at com.sdzw.test.dao.BaiduDAO.saveBaijia(BaiduDAO.java:126)
    at com.sdzw.test.test.BaiduTest.RunBaidu(BaiduTest.java:35)
    at com.sdzw.test.test.BaiduTest.main(BaiduTest.java:17)

非常感谢各位的帮助,小弟已经知道了。我这个地方最大的错误是我给的路径是相对路径,应该是绝对路径。
现在小弟的思路是先获取当前程序所在的绝对路径(如: E:CSDN/Test/),然后添加上要新建的文件(/Demo1.txt),使之组成一个新的绝对路径(E:CSND/Test/Demo1.txt)。不知道这个思路是否正确。

  • 写回答

8条回答

  • 西召 2015-05-14 11:27
    关注

    判断一个文件是否存在,如果不存在则创建它,然后向此文件写入指定的内容。
    下面是完整代码:

    //-----------------------------------------------------------------------------------
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;

    public class FindFile {

    public static void main(String[] args) throws IOException 
    {
        new FindFile().saveFile("E:/test.txt", "test");
    }
    public void saveFile(String fileName,String content) throws IOException
    {
        File file =new File(fileName);
        if(!file.exists())
        {       
            System.out.println("不存在");
            System.out.println(file.createNewFile());
            file.createNewFile();
        }
    
            FileOutputStream fos = new FileOutputStream(file,true);
            OutputStreamWriter out =new OutputStreamWriter(fos,"utf-8");
            BufferedWriter bw = new BufferedWriter(out);
            bw.write(content);
            bw.write("\r\n");
            bw.flush();
            System.out.println("写入成功!");
    
    
    }
    

    }
    //-----------------------------------------------------------------------------------

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿