aristotle 发表于 2021-11-22 15:14

请问Java中的这个异常咋处理

小白最近开始学Java,对着教材敲的代码,不知道出现的这个异常咋修改?
https://sm.ms/image/192sSGWdBICgvJj
import java.io.File;
import java.io.IOException;

public class test001 {

        public static void main(String[] args) throws IOException {
      //磁盘下创建文件
      File file=new File("D:\\hello\\demo.txt");
      if(file.exists()){                   //如果存在这个文件就删除,否则就创建
            file.delete();
      }else{
            System.out.println(file.createNewFile());
      }
      //在磁盘下创建一层目录,并且在目录下创建文件文件
      File fileDemo=new File("D:\\hello1\\demo.txt");
      if(!(fileDemo.getParentFile().exists())){//判断d:\demo目录是否存在
            fileDemo.getParentFile().mkdir();
      }
      if(fileDemo.exists()){                //如果存在这个文件就删除,否则就创建
            fileDemo.delete();
      }else{
            System.out.println(fileDemo.createNewFile());
      }

        }

}

yongqiangipone 发表于 2021-11-22 15:34

把 目录的 \\ 改成 //
public static void main(String[] args) throws IOException {
      //磁盘下创建文件
      File file=new File("D://demo.txt");
      if(file.exists()){                   //如果存在这个文件就删除,否则就创建
            file.delete();
      }else{
            System.out.println(file.createNewFile());
      }
      //在磁盘下创建一层目录,并且在目录下创建文件文件
      File fileDemo=new File("D://demo.txt");
      if(!(fileDemo.getParentFile().exists())){//判断d:\demo目录是否存在
            fileDemo.getParentFile().mkdir();
      }
      if(fileDemo.exists()){                //如果存在这个文件就删除,否则就创建
            fileDemo.delete();
      }else{
            System.out.println(fileDemo.createNewFile());
      }

    }

小公主々 发表于 2021-11-22 15:36

22 行改成

fileDemo.getParentFile().mkdir();

aristotle 发表于 2021-11-22 15:37

yongqiangipone 发表于 2021-11-22 15:34
把 目录的 \\ 改成 //
public static void main(String[] args) throws IOException {
      //磁盘下 ...

谢谢大佬

ygiveupc 发表于 2021-11-22 15:43

本帖最后由 ygiveupc 于 2021-11-22 15:45 编辑

file.createNewFile()创建的是文件,但是你D盘下没有hello文件夹,所以会报错

VioletKiss 发表于 2021-11-22 15:43

文件的间隔符建议使用 File.separator ,例如: "D:"+ File.separator+"hello"+ File.separator +"demo.txt" 。

这样的话在任意系统都不会出错

Yxlhsx 发表于 2021-11-22 16:12

12行改成
System.out.println(file.mkdirs());

aristotle 发表于 2021-11-22 18:25

Yxlhsx 发表于 2021-11-22 16:12
12行改成

谢谢,您说的对
页: [1]
查看完整版本: 请问Java中的这个异常咋处理