Java教程

IO流(File类)

本文主要是介绍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();		
			
			}	
			
		}		
	}
这篇关于IO流(File类)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!