Java IO(File类)
>概述
IO即输入(input)和输出(output),程序会往一些地方读取写入一些东西:
这些地方包括:
- 硬盘,文件系统+裸设备(只能存一个文件)
- 内存,byte[ ]
- 网络
>正则表达式的特殊字符及含义(这里是为了说明转义字符,当文件路径想写一个\,要写两个\\):
字符 |
解释 |
\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类)相关推荐
- 33.JAVA编程思想——JAVA IO File类
33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...
- 利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件
2016-11-18 这是本人的第一篇随笔博客,纠结了半天还是选择自己学的时候比较用心的一些知识点上.利用java.io.File类指定本地的文件夹进行遍历所有的文件. package org.lxm ...
- java:IO流(缓冲流、对象流、控制台IO、转换流、java.io.File 类 )
目录 一.IO 流的结构体系 二.缓冲流:BufferedInputStream & BufferedOutputStream 三.对象流:ObjectInputStream & Ob ...
- 复习java的java.io.File类,深入理解并熟练使用
1. java.io包的File类 1.1 File类的对象不仅仅指磁盘上的文件,文件夹也是一个File对象. 1.2 要使用和了解File类,那就从File对象开始.File类有4种public的构 ...
- Java之File类
一.初见File类 java.io.File类代表系统中的文件(文件或目录) 常用构造方法 File(String pathname) File(String parent, String child ...
- 一文读懂Java中File类、字节流、字符流、转换流
一文读懂Java中File类.字节流.字符流.转换流 第一章 递归:File类: 1.1:概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. ...
- 使用java.io.File操作文件及文件夹
如果有兴趣了解更多相关内容,可以来我的个人网站看看:eyes++的个人空间 一:File类的概述 java有个io包,java用于操作流的对象都在io包中,io流简单来说就是input和output流 ...
- 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 ...
- java.io.file.sync_Java(25)IO流和File类
IO流+File类 File类 讲IO流之前先来讲以下File类.Java的标准库Java.io提供了File类来操作文件和目录.操作可以有:新建.删除.重命名等,但是不能访问文件本身的内容,如果想要 ...
最新文章
- Python 中的 eavl() 函数
- mysql大于等于怎么写_数据库中大于等于0小于等于100怎样表达
- python书籍_python书籍
- 解决ssh连接Linux服务器经常掉线不稳定的问题
- add_compile_options和CMAKE_CXX_FLAGS的区别
- [网络收集]avascript中top.location.href 与 location.href的区别
- 企业服务总线全双工异步通信机
- Linuxcurl命令参数详解
- 求素数: 一般线性筛法 + 快速线性筛法
- centos6.5安装配置zabbix3.0.3
- 我的布尔玛CSS框架之旅
- 属性getter和setter
- 面向对象之封装的成本价值
- [3-7]xp系统美化主题包下载每日更新【heizt整理】
- 软件开发 | 如何写软件开发文档
- 区分LJMP、AJMP、SJMP、JMP指令
- 分数阶的预估校正算法及实现
- Gif动图如何自制?一招教你快速完成gif制作
- 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(原理篇)
- 英语时态:一般、否定疑问句、现表将来(中文练到无停顿)