File类
File类:唯一一个与文件本身有关的操作类。
下面3个构造方法可以用来生成File对象。
File(String directoryPath);
File(String directoryPath,String fileName);
File(File dirObj;String fileName);
例如:
File f1 = new File("/");
File f2 = new File("/","abc.txt");
File f3 = new File(f1,"abc.txt");
注:
directoryPath:文件的路径名
fileName:文件名
dirObj:指定目录的File对象
分隔符问题
在Windows之中路径的分隔符使用"\",而在Linux中分隔符使用"/",而现在java程序如果想要让其具备可移植性,就必须考虑分隔符问题,所以File类提供了一个常量:public static final String separator。
File f1 = new File("c:"+File.separator+"abc.txt");
File常用方法
package cn.com.file; import java.io.File; import java.io.IOException; /** * FileDemo *@描述:file类运用 */ public class FileDemo { public static void main(String[] args) throws IOException { //根据构造方法创建File对象,路径E盘,文件名hello.txt File f1 = new File("E:"+File.separator+"HelloFile.txt"); if (f1.exists()) { f1.delete(); }else { f1.createNewFile(); } //getName()方法,取得文件名 System.out.println("文件名:"+f1.getName()); //getPath()方法,取得文件名路径 System.out.println("文件名路径"+f1.getPath()); //getA()方法,取得文件名绝对路径 System.out.println("文件名绝对路径"+f1.getAbsolutePath()); //getParent(),取得父文件夹名 System.out.println("父文件夹名"+f1.getParent()); System.out.println(f1.exists()?"文件存在":"文件不存在"); System.out.println(f1.canWrite()?"文件可写":"文件不可写"); System.out.println(f1.canRead()?"文件可读":"文件不可读"); System.out.println(f1.isDirectory()?"是":"不是"+"目录"); System.out.println(f1.isFile()?"是文件":"不是文件"); System.out.println(f1.isAbsolute()?"是绝对路径":"不是绝对路径"); System.out.println("最后修改时间"+f1.lastModified()); System.out.println("文件大小"+f1.length()); System.out.println(); /**结果输出: 文件名:HelloFile.txt 文件名路径E:\HelloFile.txt 文件名绝对路径E:\HelloFile.txt 父文件夹名E:\ 文件存在 文件可写 文件可读 不是目录 是文件 是绝对路径 最后修改时间1487139283879 文件大小0 */ } }
创建目录文件
package cn.com.file; import java.io.File; import java.io.IOException; import com.sun.org.apache.bcel.internal.generic.F2D; /** * FileDemo *@描述:file类运用 */ public class FileMakeDirs { public static void main(String[] args) throws IOException { //根据构造方法创建File对象,路径E盘,文件名hello.txt File f1 = new File("E:"+File.separator+"makedir"+File.separator+"makeFile.txt"); if(!f1.getParentFile().exists()){ //父路径不存在 f1.getParentFile().mkdir(); //创建目录 } f1.createNewFile(); //创建文件 System.out.println("目录文件名(类型File)"+f1.getParentFile()); //返回类型File System.out.println("目录文件名(类型String)"+f1.getParent()); ////返回类型String System.out.println("文件名路径"+f1.getPath()); /**输出结果: 目录文件名(类型File)E:\makedir 目录文件名(类型String)E:\makedir 文件名路径E:\makedir\makeFile.txt */ } }