>概述

IO即输入(input)和输出(output),程序会往一些地方读取写入一些东西:

这些地方包括:

  1. 硬盘,文件系统+裸设备(只能存一个文件)
  2. 内存,byte[ ]
  3. 网络

>正则表达式的特殊字符及含义(这里是为了说明转义字符,当文件路径想写一个\,要写两个\\):

字符

解释

\t

制表符

\n

换行符

\r

回车符

$

匹配一行的结尾,如果要匹配$字符串,使用\$

^

匹配一行的开始,如果要匹配^字符串,使用\^

()

标记子表达式的开始和结束位置,如果要匹配(或者)使用\( 或者\)

[]

用于确定中括号表达式的开始和结束位置。

{}

用于标记前面子表达式的出现频率

*

指定前面子表达式可以出现零次或多次

+

指定前面子表达式可以出现一次或者多次

指定前面子表达式可以出现零次或者一次

.

匹配除了换行符\n之外的任何单字符。

\

用于转义下一个字符。

|

指定两项之间任选一项。

>File类:用来描述一个文件或目录;

File是java.io包下代表与平台无关的文件和目录,则程序中操作文件和目录,都可以通过File类来完成。File能新建、删除、重命名文件和目录。File不能访问文件内容本身,如果访问文件内容本身,则需要使用输入/输出流。

构造方法摘要
File(File parent, String child)
          根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname)
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child)
          根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(URI uri)
          通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。

File类可以使用文件路径字符串来创建File实例,该文件路径字符串既可以是绝对路径,也可以是相对路径。在默认情况下,系统总是依据用户的工作路径来解释相对路径。

创建File对象后,可以调用File对象的方法来访问。

常用的方法如下:

1、访问文件名相关的方法

  • String getName():返回此文件对象所表示的文件名或路径名。
  • String getPath():返回此File对象所对应的路径名。
  • File getAbsoluteFile():返回此File对象所对应的绝对路径指向的File对象。
  • String getAbsolutePath():返回此File对象所对应的绝对路径。
  • String getParent():返回此File对象所对应的目录的父目录,以工作路径为准,如果已经在工作路径的根目录下,则返回null,否则返回父目录。
  • boolean renameTo(File newName):重命名此File对象所对应的文件或目录,成功返回true,否则返回false。

2、文件检测相关的方法

  • boolean exists():判断File对象所对应的文件或目录是否存在。
  • boolean canWrite():判断File对象所对应的文件和目录是否可写。
  • boolean canRead():判断File对象所对应的文件和目录是否可读。
  • boolean isFile():判断File对象所对应的是否是文件。
  • boolean isDirectory():判断File对象所对应的是否是目录。
  • boolean isAbsolute():判断File对象所对应的文件或目录是否绝对路径。例如:如果在Unix/Linux等系统上,如果路径名的开头是/,则表明File对象对应一个绝对路径,在Windows等系统上,如果路径开头是盘符,则说明它是一个绝对路径。

3、获取常规文件信息

  • long lastModified():返回文件的最后修改时间。
  • long length():返回文件内容的长度。

4、文件操作相关的方法

  • boolean exists():判断File对象所对应的文件或目录是否存在。
  • boolean canWrite():判断File对象所对应的文件和目录是否可写。
  • boolean canRead():判断File对象所对应的文件和目录是否可读。
  • boolean isFile():判断File对象所对应的是否是文件。
  • boolean isDirectory():判断File对象所对应的是否是目录。
  • boolean isAbsolute():判断File对象所对应的文件或目录是否绝对路径。例如:如果在Unix/Linux等系统上,如果路径名的开头是/,则表明File对象对应一个绝对路径,在Windows等系统上,如果路径开头是盘符,则说明它是一个绝对路径。
  • long lastModified():返回文件的最后修改时间。
  • long length():返回文件内容的长度。
  • boolean createNewFile():当此File对象对应的文件不存在时,创建一个该File对象所对应的文件,创建成功返回true,否则返回false。
  • boolean delete():删除File对象所在的文件或路径。注意:当使用这个方法时,如果是删除的一个文件夹,文件夹中有内容时文件夹不会被删除,如果是个空文件夹则可以删除成功。

5、目录操作相关的方法

  • boolean mkdir():创建一个File对象所对应的目录,创建的是目录而不是文件。注意:这个方法,如果父级目录不存在时,则子目录无法创建。
  • boolean mkdirs():创建一个File对象所对应的所有目录,如果上级目录不存在,会同时将上级目录创建出来。
  • File[] listFile():列出File对象的所有子文件和路径,返回File数组。
  • Static File[] listRoots():列出系统所有根路径。

Java IO(File类)相关推荐

  1. 33.JAVA编程思想——JAVA IO File类

    33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...

  2. 利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件

    2016-11-18 这是本人的第一篇随笔博客,纠结了半天还是选择自己学的时候比较用心的一些知识点上.利用java.io.File类指定本地的文件夹进行遍历所有的文件. package org.lxm ...

  3. java:IO流(缓冲流、对象流、控制台IO、转换流、java.io.File 类 )

    目录 一.IO 流的结构体系 二.缓冲流:BufferedInputStream & BufferedOutputStream 三.对象流:ObjectInputStream & Ob ...

  4. 复习java的java.io.File类,深入理解并熟练使用

    1. java.io包的File类 1.1 File类的对象不仅仅指磁盘上的文件,文件夹也是一个File对象. 1.2 要使用和了解File类,那就从File对象开始.File类有4种public的构 ...

  5. Java之File类

    一.初见File类 java.io.File类代表系统中的文件(文件或目录) 常用构造方法 File(String pathname) File(String parent, String child ...

  6. 一文读懂Java中File类、字节流、字符流、转换流

    一文读懂Java中File类.字节流.字符流.转换流 第一章 递归:File类: 1.1:概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. ...

  7. 使用java.io.File操作文件及文件夹

    如果有兴趣了解更多相关内容,可以来我的个人网站看看:eyes++的个人空间 一:File类的概述 java有个io包,java用于操作流的对象都在io包中,io流简单来说就是input和output流 ...

  8. JavaSE-java.io.File类

    java.io.File类 1.java.io.File类 2.File类构造器-创建File类实例 3.File类常用方法 3.1.获取功能 3.2.重命名功能 3.3.File类的判断功能 3.4 ...

  9. java.io.file.sync_Java(25)IO流和File类

    IO流+File类 File类 讲IO流之前先来讲以下File类.Java的标准库Java.io提供了File类来操作文件和目录.操作可以有:新建.删除.重命名等,但是不能访问文件本身的内容,如果想要 ...

最新文章

  1. Python 中的 eavl() 函数
  2. mysql大于等于怎么写_数据库中大于等于0小于等于100怎样表达
  3. python书籍_python书籍
  4. 解决ssh连接Linux服务器经常掉线不稳定的问题
  5. add_compile_options和CMAKE_CXX_FLAGS的区别
  6. [网络收集]avascript中top.location.href 与 location.href的区别
  7. 企业服务总线全双工异步通信机
  8. Linuxcurl命令参数详解
  9. 求素数: 一般线性筛法 + 快速线性筛法
  10. centos6.5安装配置zabbix3.0.3
  11. 我的布尔玛CSS框架之旅
  12. 属性getter和setter
  13. 面向对象之封装的成本价值
  14. [3-7]xp系统美化主题包下载每日更新【heizt整理】
  15. 软件开发 | 如何写软件开发文档
  16. 区分LJMP、AJMP、SJMP、JMP指令
  17. 分数阶的预估校正算法及实现
  18. Gif动图如何自制?一招教你快速完成gif制作
  19. 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(原理篇)
  20. 英语时态:一般、否定疑问句、现表将来(中文练到无停顿)

热门文章

  1. Go 模块--开始使用 Go Modules
  2. 基于CentOS7,MySQL5.7的主从复制架构搭建实战
  3. Redis经典面试题
  4. Java会话技术之 —— cookie与session
  5. redis单机安装并配置服务脚本启动
  6. Oracle10gR5GridControl InstallOnLinux
  7. [C# 基础知识系列]专题十四:深入理解Lambda表达式
  8. xmodmap使用指南
  9. DPM灾难切换应用场景
  10. Tcpdump linux抓包软件详细使用