import java.io.File;import java.io.IOException;public class one { public static void main(String[] args){ File file = new File("E:\test"); File file1 = new File(file,"one"); System.out.println(file1.isDirectory()); System.out.println(file1.isFile()); if(!file.exists()){ try{ file.createNewFile(); }catch(IOException e){ e.printStackTrace(); } } if(!file1.exists()){ file1.mkdirs(); } }}
为什么这样子不能创建出一个E:testone目录结构?
我认为可能是因为写到了前面的那个test的文件里去了,我debug了一个,18行确实执行了
File类FIle的官方文档https://docs.oracle.com/javase/7/docs/api/,可以看下构造器
注意下由于转义字符的存在,所以字符串中都写着的是\而没有
一些方法的使用
创建目录
public class one { public static void main(String[] args){ File file = new File("E:\test"); System.out.println(file.isDirectory()); System.out.println(file.isFile()); if(!file.exists()){ file.mkdirs(); } }}
创建单级目录可以用mkdir或者mkdirs,但是创建多级目录只能用mkdirs
创建文件
public class one { public static void main(String[] args){ File file = new File("E:\test"); System.out.println(file.isDirectory()); System.out.println(file.isFile()); if(!file.exists()){ try{ file.createNewFile(); }catch(IOException e){ e.printStackTrace(); } } }}
绝对路径和相对路径:绝对路径就是有包含盘符(C:…),相对路径就是我们的java文件和我们的目标文件间的目录差,只需要记住,”…”表示返回到上一级目录就可以了,其他顺着写完事,然后有一点血药注意下,如果是在类似于jetbrain这样的集成式环境下的话,那么它默认的存放地点不是每一个类的子目录而是共同的目录下面,即便它隔着几个子目录也是一样的,而如果需要访问数据自己设置在了一个子目录下面,就把位置写了就好
其他