java.io.FileNotFoundException: D:e (拒绝访问。)

这是因为访问的文件地址是文件夹而不是,具体的文件,把路径改为具体的文件就可以了。

 参考文章:https://blog.csdn.net/w405722907/article/details/78610485

/**
 * 查看某个文件夹下所有的文件  并删除文件
 */
@RestController
public class One {

    /**
     *查看某个文件夹下所有的文件
     * @param args
     */
    public static void main(String[] args) {
        /*File file1 = new File("D:\e\test.txt");
        delete(file1);
        File file = new File("D:" + File.separator);
        print(file);*/
        //"D:\门头沟国高新2018年度(管委).xlsx"
        try {
            download("门头沟国高新2018年度(管委).xlsx");
        } catch (IOException e) {
            e.printStackTrace();
        }
       /* String s = "D:/e/D:/门头沟国高新2018年度(管委).xlsx (文件名、目录名或卷标语法不正确。)";
        String substring = s.substring(8, s.length());
        System.out.println(substring);*/
    }

    /**
     * 打印某个文件夹下的所有文件名字
     * @param file
     */
    public static void print(File file){
        if (file != null){
            if (file.isDirectory()){
                File[] files = file.listFiles();
                if (files != null){
                    for (int i = 0; i < files.length; i++){
                        System.out.println(files[i]);
                    }
                }
            }
        }
    }

    /**
     * 删除某个文件
     * @param file
     */
    public static void delete(File file){
        if (file != null && file.exists()){
            boolean delete = file.delete();
            System.out.println(delete);
        }
    }

    /**
     * 下载某个文件
     * @param fileName
     * @throws IOException
     */
    public static void download(String fileName) throws IOException {
        FileOutputStream fileOutputStream = null;
        FileInputStream fileInputStream = null;
        try {
             fileInputStream = new FileInputStream("D:\" + fileName);
            fileOutputStream = new FileOutputStream("D:\e\" + fileName);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
        byte[] bytes = new byte[1024];
        while (bufferedInputStream.read(bytes) != -1){
            bufferedOutputStream.write(bytes);
        }
        bufferedOutputStream.flush();
        bufferedOutputStream.close();
        bufferedInputStream.close();
    }
}
原文地址:https://www.cnblogs.com/prader6/p/11363577.html