1、File类位于Javaio包下,代表文件或者目录,Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。但无法操作文件/目录本身,因为File并不能访问文件本身的任何内容。File对象代表磁盘中实际存在的文件和目录。如果需要操作这个文件,需要使用输入输出流
2、如下图所示,File f = new 掂迎豢畦File("D:\\hello.txt");就这样一行代码,就完成了File类的创建。此时,f就代表了D盘的hello.txt。不要被名字所迷惑,我虽然起名为hello.txt,但未必就是文件哦,也可能是一个目录叫hello.txt.就是说,如果hello.txt不存在,f中就会有相应的值记录“这个文件不存在”。如果这个文件存在,f中也会有相应的值记录“这个文件存在”,并会有另一个值记录这个是文件还是文件夹。
3、简单使用下,我们来判断这个文件是否存在。System.out.println("这个文件是否存在:" + f.exists());如下图所示,这个文件是不存在的
4、下面,我们手动在D盘创建一个文件:hello.txt.然后,我们再增加2行代码,判断是否为文件/目玲膛宀耱录System.out.println("是否是个目录:" + f.isDirectory()); System.out.println("是否是个文件:" + f.isFile());由运行结果来看,第一个为false,说明不是一个目录;第二个为true,说明是个文件
5、现在,我们删除之前创建的hello.txt文件,创建一个hello.txt目录。在运行下代码,发现一个为true,说明是个目录;第二个为false,说明不是个文件。
6、那如果我们不想手动创建文件/目录,想直接通过创建文件/目录呢if (!f.exists()){ System.out.println("文件不存在,将创建一个目录"); f.mkdir(); }如果文件不存在,我将创建一个目录
7、创建文件就改为:f.createNewFile();如果需要增加异常处理。if (!f.exists()){ System.out.println("文件不存在,将创建一个文件"); try { f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } }
8、如果想获取当前文件的路径呢?OK,现在我们在D盘创建一个文件夹alsp,在这文件夹中创建一个文件he造婷用痃llo.txt,所以,路径为D://alsp/hello.txt.然后使用如下图代码:File f = new File("D:\\alsp/hello.txt"); System.out.println(f);直接打印f,得到的结果为:D:\alsp\hello.txt。将文件的路径直接打印出来了
9、还可以获取文件名System.out.println(f.getName());
10、还有其他用法,比如f.getAbsolutePath(),f.getCanonicalPath(),f.getParent()等,可以自己试试喽