目录:系统学习 Java IO---- 目录,概览html
Java IO API 中的 File 类能够访问基础文件系统。 使用 File 类,能够:java
注意:“File”仅容许访问文件和文件系统元数据。 若是须要读取或写入文件内容,则应使用 FileInputStream,FileOutputStream 或 RandomAccessFile 执行此操做。缓存
File 类一共有 4 个字段,能够提供平台无关的一些字符:dom
字段 | 描述 |
---|---|
static String pathSeparator | 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。 |
static char pathSeparatorChar | 同上值的字符表示,UNIX系统为 '/' ,Windows 系统为 '\\'。 |
static String separator | 与系统有关的默认名称分隔符,Unix系统是 ':' Windows系统是 ';' |
public static final char pathSeparatorChar | 同上值的字符表示 |
构造器和一些方法示例以下:学习
public class FileExample { public static void main(String[] args) throws IOException, URISyntaxException { // File 一共有 4 种构造器,以下: File parentDir = new File("D://test"); // 经过目录路径字符串建立 File file1 = new File("D://test//file1.txt"); // 经过文件路径字符串建立 File file2 = new File(parentDir, "childDir"); // 经过指定父目录方式建立 File uri = new File(new URI("file:/D:/test/uri")); // 经过 URI 对象建立 /* File 对象既可用来建立目录,也能够建立文件,不会受到路径名影响, 好比能够建立名为 file1.txt 的目录,建立名为 childDir 的文件 */ parentDir.mkdirs(); // 建立 test 目录 file1.mkdirs(); // 建立 file1.txt 目录 file2.createNewFile(); // 建立 childDir 文件 file2.mkdirs(); // file2 已建立了 childDir 文件,同一目录下再建立 childDir 目录会失败 uri.mkdirs(); System.out.println(uri.exists()); System.out.println(file1.getName()); // file1.txt System.out.println(file1.exists()); // true System.out.println(file1.isFile()); // false System.out.println(file1.isAbsolute()); // true System.out.println(file1.getAbsolutePath()); // 返回绝对路径,D:\test\file1.txt System.out.println(file1.getAbsoluteFile()); // 等同于 new File(this.getAbsolutePath()) System.out.println(file1.toURI()); // file:/D:/test/file1.txt/ // 列出系统的根目录,C:\ D:\ File[] files = File.listRoots(); for (int i = 0; i < files.length; i++) { System.out.println(files[i]); } /* 返回 parentDir 目录下全部的文件 D:\test\childDir D:\test\file1.txt D:\test\ uri */ File[] fs = parentDir.listFiles(); for (int i = 0; i < fs.length; i++) { System.out.println(fs[i]); } // 当即删除此抽象路径名表示的文件或目录。若是是目录,则该目录必须为空才能删除。 file1.delete(); // 将删除的命令缓存,JVM 终止时才真正删除 parentDir.deleteOnExit(); } }
注意:boolean mkdirs()
方法建立此抽象路径名指定的目录,包括全部必需但不存在的父目录。注意,此操做失败时也可能已经成功地建立了一部分必需的父目录。若是目录已存在,返回 false 。this