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条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮