day14作业io流下

这篇博客详细介绍了Java IO流的基础与进阶使用,包括InputStreamReader与OutputStreamWriter的UTF-8编码读写,BufferedReader与BufferedWriter的字符缓冲区流应用,以及在验证码验证、用户注册和文件内容反转等场景中的实战案例。
摘要由CSDN通过智能技术生成

一、基础案例
1.训练案例1
1.1.训练描述:【InputStreamReader OutputStreamWriter】
一、需求说明:以UTF-8编码的格式写出 “你好”到文件中, 并将数据正确的读取出来打印在控制台
1.2.操作步骤描述
1.创建OutputStreamWriter关联文件, 并在构造方法中指定编码表
2.调用writer方法写出字符串
3.创建InputStreamReader关联文件, 并在构造方法中指定码表进行读取
4. 调用read方法读取数据, 打印在控制台

public class test01 {
   
	public static void main(String[] args) throws IOException {
   
		OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("01.txt"),"UTF-8");
		osw.write("你好");
		osw.close();		
		InputStreamReader isr=new InputStreamReader(new FileInputStream("01.txt"),"UTF-8");		
		int b;
		while((b=isr.read()) !=-1){
   
			System.out.print((char)b);			
		}		
		isr.close();
	}
}

2.训练案例2
2.1.训练描述:【BufferedReader、BufferedWriter】
一、需求说明:字符缓冲区流的特殊功能复制Java文件
2.2.操作步骤描述
1.创建BufferedReader输入流对象关联源文件
2.创建BufferedWriter输出流对象关联目标文件
3.调用readLine方法不断的读取,只要不等于null 说明没有读取完毕
4.调用writer方法直接写出字符串,但是要加上newLine方法手动换行
5.关闭流释放资源

public class test02 {
   
	public static void main(String[] args) throws IOException {
   
		BufferedReader br=new BufferedReader(new FileReader("aa.txt"));
		
		BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
	
		String line;
		while((line=br.readLine()) !=null){
   
			bw.write(line);
			bw.newLine();
		}		
		br.close();
		bw.close();
	}
}

3.训练案例3
3.1.训练描述【BufferedReader BufferedWriter】
一、需求说明:
a)将集合中Student对象的信息写入当前项目下的stuInfo.txt当中
b)再读取stuInfo.txt的内容到集合中,遍历集合打印数据
二、补充说明:
a)写出信息的格式: it001,张曼玉,35,北京
b)输出信息的格式: it001,张曼玉,35,北京
3.2.操作步骤描述
分析:
1.创建Student类,用于封装数据
2.创建集合对象,将学生对象添加到集合中
3.创建输出流对象关联stuInfo.txt文件
4.遍历集合对象获取到每一个Student, 再用StringBuilder拼接成指定的格式并写出
5.关闭输出流对象
6.创建BufferedReader输入流对象关联stuInfo.txt, 因为有读取一行的方法
7.创建集合对象用于存储读取到的Student(也可以将原集合清空)
8.将读取到的每一行数据通过split方法切割,再将切割后的信息封装成Student对象
9.将学生对象添加到集合中
10.关闭输入流对象
11.遍历集合并打印

public class test03 {
   
	public static void main(String[] args) throws IOException {
   
		ArrayList<stu> array=new ArrayList<>(
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值