IO流(File类)
作者:互联网
IO流(File类)
一,前言
开始学习IO流,了解IO流的概念,掌握File类。。
二, IO流的概念
Java 的 IO 流主要包括输入、输出两种 IO 流。
- 输入:读取数据到内存中。
- 输出:将内存数据输出外部中。
每种输入、输出流有可分为字节流和字符流两大类:
- 字节流以字节为单位来处理输入、输出操作。
- 字符流以字符为单位来处理输入、输出操作。
三,File类的概念
Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。
File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
四,File类的构造方法
//通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。
File(String pathname)
//根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(String parent, String child)
//通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例。
File(URI uri)
五,File类的常用方法
//创建方法
boolean createNewFile():
创建文件(当文件不存在时)
boolean mkdir():
创建一级目录
boolean mkdirs():
创建多级目录
//删除方法
boolean delete():
删除文件或目录。
//测试方法
boolean exists():
测试文件或目录是否存在。
boolean isDirectory():
测试文件是否为目录。
boolean isFile():
测试文件是否为普通文件。
//查询方法
String getAbsolutePath():
返回绝对路径名字符串。
String getParent():
返回上级绝对路径。
//转换方法
String[] list():
返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
File[] listFiles():
返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。
//其他方法
String getName():
返回由此抽象路径名表示的文件或目录的名称。
long length():
返回由此抽象路径名表示的文件的长度。
六,递归方法
使用递归方法制一个多级文件夹到一个指定的目录下:
public class Test02 {
/*
* 复制一个多级文件夹到一个指定的目录下
*/
public static void fz(String pathname,String path) throws IOException {
//定位文件
File file = new File(pathname);
//如果不存在
if (file.exists() == false) {
throw new IOException("源文件不存在");
}
//展示当下文件夹各文件名
String str[] = file.list();
//循环输出
for (String string : str) {
//定位当下新文件
File f = new File(pathname+"/"+string);
//如果是文件夹
if (f.isDirectory()) {
//创建复制处文件夹
File newf = new File(path + "/" + string);
newf.mkdir();
//递归文件夹下的文件,重复操作
fz(pathname+"/"+string, path + "/" + string);
//如果是文件
}else {
//创建复制处文件
File newf = new File(path + "/" + string);
newf.createNewFile();
}
}
}
标签:文件,File,boolean,路径名,IO,目录,String 来源: https://www.cnblogs.com/simashun/p/16100187.html