给定一个路径d:/ab/cd/a(a可能是文件也可能是文件夹),根据给定的路径创建文件或文件夹,请问这中将要考虑些什么问题。比如文件或文件夹是否存在

解决方案 »

  1.   

    调用createNewFile()方法时必须要考虑异常处理,使用try..catch式方法来保证
      

  2.   

    请查看File类的API,里面有判断是文件还是路径的.
      

  3.   

    路径用File对象,创建文件用输出流
      

  4.   

    路径用File对象,创建文件用输出流
      

  5.   

    东西还都不存在,不管怎么做判断都是false,那我又如何选择是创建文件还是创建文件夹呢???
      

  6.   

    file.exists()判断是否存在。
    isFile(),isDirectory()判断是文件还是目录。
    直接调用createNewFile即可创建文件(不存在才创建)
    创建路径 mkdir  mkdirs。
      

  7.   

    d:/ab/cd/a,如果经判断d:/ab/cd存在了,而a不存在,那可以对一个不存在的东西使用isFile(),isDirectory()方法??
      

  8.   

    如果没有a,则创建这个a啊,根据题目要求,如果是文件就用isFile(),如果是文件夹,就用isDirectory()
      

  9.   

    捕捉异常
    可能会找不到文件就catch(FileNotFoundException e){System.out.println("无法找到文件");}
      

  10.   


    boolean mkdirs() 
              创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。 
      

  11.   

    public class FileCreator {    public static void main(String[] args) {
            String path = "c:\\a\\b\\c\\d.txt";        if (createFile(path)) {
                System.out.println("文件创建成功!");
            } else {
                System.out.println("文件创建失败。");
            }
        }    /**
         * 根据指定路径创建一个文件
         *
         * @param path 文件路径
         *
         * @return 文件已存在或创建成功则返回 true
         */
        private static boolean createFile(String path) {
            File file = new File(path);        // 检查并创建 d.txt 所处的文件夹
            if (!file.getParentFile().exists() && !file.getParentFile().mkdirs()) {
                return false;
            }        // 创建文件
            try {
                file.createNewFile();
                return true;
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            }
        }
    }