IO流

匿名 (未验证) 提交于 2019-12-03 00:18:01

一.什么是IO流

流源于UNIX中管道的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程的通信,或读写外围设备,外部文件等。

IO流分为字节流和字符流

字符流包含:Reader 和 Writer

字节流包含:InputStream 和 OutputStream

三.什么是字节流,什么是字符流

字节流是由字节组成的,字节流是最基本的,所有的 Inputstream和Outputstream的子类都是字节流,主要用在处理二进数据,它是按字节来处理的。

字符流是由字符组成的,Java里字符由两个字节组成,所有的 Reader和 Writer的子类都是字符流,主要用在处理文本内容或特定字符。

四.字节流和字符流的区别

节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,

而字符流数据先放在缓冲区,通过缓冲区再操作文件。

读写时一个是按字节读写,一个是按字符。

需要对内容进行按行处理,一般选择字符流。

五.字符流和字节流常用类



六.实现文件复制的思路和步骤

步骤见代码

public class IO2 { 	public static void main(String[] args) { 		FileInputStream f1 = null; 		FileOutputStream f2 = null; 		; 		try { 			f1 = new FileInputStream("D:\\lenove\\ss.txt"); 			f2 = new FileOutputStream("D:\\ss.txt"); 			int n = 0; 			do { 				try { 					n = f1.read(); 					f2.write(n); 				} catch (IOException e) {  					e.printStackTrace(); 				} 			} while (n != -1); 		} catch (FileNotFoundException e) {  			e.printStackTrace(); 		} finally { 			try { 				f1.close(); 			} catch (IOException e) {  				e.printStackTrace(); 			} 			try { 				f2.close(); 			} catch (IOException e) {  				e.printStackTrace(); 			} finally { 				try { 					f1.close(); 					f2.close(); 				} catch (IOException e) { 					 					e.printStackTrace(); 				}  			}  		}  	} } 




文章来源: IO流
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!