Java学习笔记之报错Exception in thread “main“ java.io.FileNotFoundException

0x00 概述

在Java IO流章节进行练习的时候,运行代码时候发现报错,说文件路径不正确。

0x01 解决

报错代码

package FileDemo2;

import java.io.File;
import java.io.IOException;

public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        // 需求1:在C:\Users\119k\IdeaProjects\d17\FileDemo2\目录下创建一个文件java.txt
        File f1 = new File("C:\\Users\\119k\\IdeaProjects\\d17\\FileDemo2\\java.txt");
        System.out.println(f1.createNewFile());
        System.out.println("--------------");


        // 需求2:在C:\Users\119k\IdeaProjects\d17\FileDemo2\目录下创建一个目录
        File f2 = new File("C:\\Users\\119k\\IdeaProjects\\d17\\FileDemo2\\JavaSE\\");
        System.out.println(f2.mkdir());
        System.out.println("--------------");

        // 需求3:在C:\Users\119k\IdeaProjects\d17\FileDemo2\目录下创建多级目录\JavaSE\JavaEE\
        File f3 = new File("C:\\Users\\119k\\IdeaProjects\\d17\\FileDemo2\\JavaSE\\JavaEE\\");
        System.out.println(f3.mkdirs());
        System.out.println("--------------");

        // 需求4:在C:\Users\119k\IdeaProjects\d17\FileDemo2\目录下创建一个文件javaSE.txt
        File f4 = new File("C:\\Users\\119k\\IdeaProjects\\d17\\FileDemo2\\javaSE.txt");
        System.out.println(f4.createNewFile());
        System.out.println("--------------");
    }
}

修正后的代码,注意红色部分,增加了\src

package FileDemo2;

import java.io.File;
import java.io.IOException;

public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        // 需求1:在C:\Users\119k\IdeaProjects\d17\FileDemo2\目录下创建一个文件java.txt
        File f1 = new File("C:\\Users\\119k\\IdeaProjects\\d17\\src\\FileDemo2\\java.txt");
        System.out.println(f1.createNewFile());
        System.out.println("--------------");


        // 需求2:在C:\Users\119k\IdeaProjects\d17\FileDemo2\目录下创建一个目录
        File f2 = new File("C:\\Users\\119k\\IdeaProjects\\d17\\src\\FileDemo2\\JavaSE\\");
        System.out.println(f2.mkdir());
        System.out.println("--------------");

        // 需求3:在C:\Users\119k\IdeaProjects\d17\FileDemo2\目录下创建多级目录\JavaSE\JavaEE\
        File f3 = new File("C:\\Users\\119k\\IdeaProjects\\d17\\src\\FileDemo2\\JavaSE\\JavaEE\\");
        System.out.println(f3.mkdirs());
        System.out.println("--------------");

        // 需求4:在C:\Users\119k\IdeaProjects\d17\FileDemo2\目录下创建一个文件javaSE.txt
        File f4 = new File("C:\\Users\\119k\\IdeaProjects\\d17\\src\\FileDemo2\\javaSE.txt");
        System.out.println(f4.createNewFile());
        System.out.println("--------------");
    }
}

需要在IDE内获取文件的绝对路径,此处使用copy-absoulte path 发现文件路径内是多出了 \\src

原文地址:https://www.cnblogs.com/JetpropelledSnake/p/15725462.html