Java开发之路(10)Java基础——IO进阶

本文详细探讨了Java的IO基础,包括IO作为管道的思想、操作三部曲以及流的分类。阐述了IO与装饰者模式的关系,介绍了四个基本节点流及其装饰流的类型。此外,讲解了IO在文件拷贝、File类、递归、目录显示、对象序列化、中文读写、转换流和缓冲流中的应用,并强调了异常控制和流关闭的重要性。
摘要由CSDN通过智能技术生成

一、IO的基本思想

1.IO作就是管道:

端到端的输入和输出的管道。
在这里插入图片描述

2.IO操作三部曲:

建立管道
传数据
关闭管道

3.IO的分类

(1)输入流和输出流:站在程序的角度,数据是流向程序还是从程序向外。
(2)字节流和字符流:管道中能够流动的数据类型。
a.字节流:比如二进制、音频、视频、图像等。
b.字符流:文本。

二、IO和装饰者模式的关系

文件端和程序端之间只有4个节点流
在这4个基本管道之上,我们有很多处理流(装饰流/加强流)

4个节点流

1.FileInputStresm:输入字节流,文件端向程序端传输字节型数据。
2.FileOutputStream:输出字节流,程序端向文件端传输字节型数据。
3.FileReader:输入字符流,文件端向程序端传输符节型数据。
4.FileWriter:输出字符流,程序端向文件端传输符节型数据。

装饰流

1.LineNumber
2.Object
3.Pipe
4.Print
5.Buffered
6.Array
7.Date
8.Random

三、IO的应用

1.字符流实现文件的拷贝

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CopyFile {
   

	public static void main(String[] args) throws IOException {
   
		//读的管道,读入
		FileReader fr = new FileReader("d:\\test1.txt");
		BufferedReader br = new BufferedReader(fr);//装饰
		
		//写的管道,写出
		FileWriter fw = new FileWriter("test.txt");
		//BufferedWriter bw = new BufferedWriter(fw);
		
		String str = null;
		while((str = br.readLine())!=null) {
   
			System.out.println(str);
			fw.write(str+"\n");
		}
		br.close();
		fr.close();
	//	bw.close();
		fw.close();
	}
}

四、File类

import java.io.File;
import java.io.IOException;

public class FileTest {
   

	public static void main(String[] args) throws IOException {
   	
		File file2 = new File("d:\\temp");//目录对象
		File file1 = new File(file2,"test.txt");//文件对象
		//判断方法
		System.out.println(file1.isFile());
		System.out.println(file1.isDirectory());
		
		System.out.println(file2.isFile());
		System.out.println(file2.isDirectory());//要存在才是ture
		
		//创建目录文件的方法
		file2.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值