目录:系统学习 Java IO---- 目录,概览

Java IO API 中的 File 类可以访问基础文件系统。 使用 File 类,可以:

  • 检查文件或目录是否存在。
  • 如果目录不存在,创建一个目录。
  • 读取文件的长度。
  • 重命名或移动文件。
  • 删除文件。
  • 检查路径是文件还是目录。
  • 读取目录中的文件列表。

注意:“File”仅允许访问文件和文件系统元数据。 如果需要读取或写入文件内容,则应使用 FileInputStream,FileOutputStream 或 RandomAccessFile 执行此操作。

File 类一共有 4 个字段,可以提供平台无关的一些字符:

字段 描述
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 。

系统学习 Java IO (三)----文件类 File的更多相关文章

  1. 系统学习 Java IO (四)----文件的读写和随机访问 FileInputStream/FileOutputStream & RandomAccessFile

    目录:系统学习 Java IO---- 目录,概览 文件输入流 FileInputStream 这是一个简单的FileInputStream示例: InputStream input = new Fi ...

  2. 系统学习 Java IO ---- 目录,概览

    Java IO 类的系统教程,原创.主要参考自英文教程 Java IO Tutorial 和 Java Doc. http://tutorials.jenkov.com/java-io/index.h ...

  3. 系统学习 Java IO (一)----输入流和输出流 InputStream/OutputStream

    目录:系统学习 Java IO ---- 目录,概览 InputStream 是Java IO API中所有输入流的父类. 表示有序的字节流,换句话说,可以将 InputStream 中的数据作为有序 ...

  4. 系统学习 Java IO (十六)----这么多类,应该用哪个?

    目录:系统学习 Java IO---- 目录,概览 Java IO目的和功能 Java IO 包含 InputStream,OutputStream,Reader 和 Writer 类的许多子类. 原 ...

  5. 系统学习 Java IO (十四)----字符读写缓存和回退 BufferedReader/BufferedWriter & PushbackReader

    目录:系统学习 Java IO---- 目录,概览 BufferedReader BufferedReader 类构造器接收一个 Reader 对象,为 Reader 实例提供缓冲. 缓冲可以加快 I ...

  6. 系统学习 Java IO (十三)----字符读写 Reader/Writer 及其常用子类

    目录:系统学习 Java IO---- 目录,概览 Reader Reader 类是 Java IO API 中所有 Reader 子类的基类. Reader 类似于 InputStream ,除了它 ...

  7. 系统学习 Java IO (十五)----字符读写 Reader/Writer 其他子类

    目录:系统学习 Java IO---- 目录,概览 跟踪行号的缓冲字符输入流 LineNumberReader LineNumberReader 类是一个 BufferedReader ,用于跟踪读取 ...

  8. 系统学习 Java IO (十一)----打印流 PrintStream

    目录:系统学习 Java IO---- 目录,概览 PrintStream 类可以将格式化数据写入底层 OutputStream 或者直接写入 File 对象. PrintStream 类可以格式化基 ...

  9. 系统学习 Java IO (十二)----数据流和对象流

    目录:系统学习 Java IO---- 目录,概览 DataInputStream/DataOutputStream 允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型. 要想使用 ...

随机推荐

  1. 双显卡安装Fedora 20

    电脑CPU上有核芯显卡,独立显卡是Nvidia的GeForce.在安装Fedora 20 64位的时候,通常会有一个优先级.在电脑BIOS中有一个显卡的启动选项,PCIe或者IGFX,PCIe是独立显 ...

  2. Qt5官方demo解析集35——Music Player(使用winextras模块)

    本系列所有文章可以在这里查看http://blog.csdn.net/cloud_castle/article/category/2123873 接上文Qt5官方demo解析集34——Concentr ...

  3. Hopfield 神经网络及稳态性的证明

    根据其提出者,John Joseph Hopfield 命名.Hopfield 在 1982 年提出的划时代的:Neural networks and physical systems with em ...

  4. ASP.NET Core Identity 迁移数据 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Identity 迁移数据 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Identity 迁移数据 上一章节中我们配置了 ...

  5. error C2220: 警告被视为错误 - 没有生成“object”文件

    原文:error C2220: 警告被视为错误 - 没有生成"object"文件 这种错误的原因是:原因是该文件的代码页为英文,而我们系统中的代码页为中文.   解决方案: 1. ...

  6. AntDesign Form表单字段校验的三种方式

    1.使用getFieldDecorator的rules规则 最简单的方法就是使用getFieldDecorator中的rules验证.rules中定义校验规则,message为校验不通过时的提示文字. ...

  7. SDL(01-10)

    SDL中的函数需要先初始化SDL才能用 : //Initialize SDL ) { printf( "SDL could not initialize! SDL_Error: %s\n&q ...

  8. 将RDL报表转换成RDLC报表的函数

    原文:将RDL报表转换成RDLC报表的函数 近日研究RDLC报表,发现其不能与RDL报表兼容,尤其是将RDL报表转换成RDLC报表.网上的资料贴出的的转换方式复杂且不切实际,遂决定深入研究.经研究发现 ...

  9. jvm常用参数设置 专题

    在jdk8中 -Xms2g不合法,能通过的:-Xms2G #!/bin/bash JAVA_OPTS="-Xms4G -Xmx4G -XX:+HeapDumpOnOutOfMemoryErr ...

  10. Windows7,程序兼容助手:这个程序可能安装不正确(做注册表里设置白名单,软件自身的名字不能带setup)

    Windows上有一个很奇怪的一个现象,一个exe只要名字里面带了setup\install之类的,打开exe后立即退出就会弹出下面的窗口. 解决方法: 方法一.更改exe的名字,去掉setup\in ...