hpe实训课(IO)

1.IO的概念

java程序对数据的操作是通过"流"IO的方式,IO流用来处理设备之间的数据传输(上传和下载文件)

2.流

流是一组有顺序的,有起点和终点的集合(字节),是对数据传输的一种抽象,它就是为了数据传输

3.流的分类
 * 		①.按照数据流向的不同分为:输入流(input)和输出流(output)
 * 			-- 输入流:读取外部数据到程序中(将持久化的文件数据加载到内存)
 * 			-- 输出流:将程序中的数据保存到磁盘(将内存中的数据持久化到磁盘)
 * 		②.按照处理数据类型的单位不同分为:字节流和字符流
 * 			-- 字节流:以字节流byte为单位 如:音频、视频、图片
 * 			-- 字符流:以字符char为单位 如:文本文件(一次读入或读16位二进制)
 * 			注意:只要是纯文本数据优先选择字符流,
 * 		③.按照角色功能划分分为:节点流和处理流
 * 			-- 节点流:直接作用于文件的或者直接与数据相连(文件流):如FileInputStream
 * 			-- 处理流:加速文件的读写操作,在节点流上面套接了一层(主要指缓冲流):BufferedInputStream
4.IO流的体系结构
 * 		①.在java程序中,为了对不通过来源和性质的流对象调用统一的方法,Java中的流定义了顶层输入/输出的接口或者抽象类
 * 		    满足不同性质具体的流对象就会有统一的方法。
 * 		②.在java中有4个基本的抽象流类型,所有的流都继承于他们四个。
 * 			类型\流向                              输入流                                输出流
 * 			字节流		         InputStream          OutputStream
 * 			字符流			     Reader               Writer
* 		③.按照角色功能的划分
* 			抽象基类 			              节点流			                                 缓冲流
 * 			InputStream		     FileInputStream  字节输入流			BufferedInputStream  字节输入缓冲流
 * 			OutputStream		 FileOutputStream 字节输出流			BufferedOutputStream 字节输出缓冲流
 * 			Reader				 FileReader       字符输入流			BufferedReader 		  字符输入缓冲流
 * 			Writer               FileWriter	      字符输出流			BufferedWriter		  字符输出缓冲流
5.File类
 * 		①.File类是Java中处理文件的类
 * 		②.File类中的方法涉及到文件的创 建、删除、重命名等待,并不包括文件的内容读写,只要涉及到内容一定要IO流来处理
 * 		③.路径
 * 			绝对路径:包含盘符在内的完整文件路径
* 			相对路径:在当前文件目录下的文件路径
 * 			\:表示电脑磁盘上默认额路径分隔符
* 			\\:在java编译器中使用的形式(其实就是在\基础上加一个转义字符\)
*  		/:在路径中相当于"\\",是java程序中路径的另外一种表现形式
*  	④.常用的方法
* 				exists() 判断是否存在
* 				canWrite() 是否可写
*				canRead() 是否可读
*				isFile()  是否为文件
* 				isDirectory() 是否为目录
* 				length() 文件的长度
* 				lastModify() 最后一次修改的时间

 * createNewFile() 新建文件
 * delete() 删除
 * mkdir() 创建文件目录
 * mkdirs() 递归创建目录
 * list() 列出当前目录下的所有文件
 * listFiles() 基本等同list()

用法实例


public void test3() throws IOException {
		File file1 = new File("D:\\io\\hello.txt");
		// 删除文件 
		file1.delete();
		if (!file1.exists()) {
			boolean b = file1.createNewFile();
			System.out.println(b);
		}
		// 创建目录
		File file2 = new File("D:\\io\\oo1");
		if (!file2.exists()) {
			file2.mkdir();
		}
		// 递归创建
		File file3 = new File("D:\\io\\a\\b\\c");
		file3.mkdir();
		
		// 列出当前目录下的所有文件
		File file4 = new File("D:\\java");
		String[] strs = file4.list();
		for (String file : strs) {
			System.out.println(file);
		}
		
		File[] listFiles = file4.listFiles();
		for (File file : listFiles) {
			String path = file.getPath();
			System.out.println(path);
		}
	}
发布了30 篇原创文章 · 获赞 0 · 访问量 1941

猜你喜欢

转载自blog.csdn.net/qq_38499019/article/details/104621670