JAVA学习日记:I/O流(5)

本节课我学习的主要内容有:

1.字符流
2.Unicode编码

字符流:

字符流是可以直接操作Unicode字符数据的流,它读写的单位
是字符,字符是有编码的、字符流自动进行字符集的转换:

 	默认情况下:
  			输入:是从OS操作系统字符集转换成Unicode字符集。
			输出:是从Unicode字符集转化成OS操作系统默认字符集。
  			
  当需要处理字符组成的数据时,我们使用字符流会更方便。
  字符流顶层结构是Reader和Writer。

Unicode编码:

Unicode编码是由国际标准化组织进行推行的字符集编码定义规范。在存储上由多种编码实现,
UTF-8/UTF-16之类的。Java内部字符的处理都是采用Unicode编码(在内存中)。实际
上就是采用UTF-16,而Unicode编码很少用于操作系统的默认字符集。我们日常使用的中文
操作系统默认字符集是GBK,所以为了防止乱码的出现,我们经常要进行转换工作。

WriterAndReaderTest01 (测试字符输入输出流及其装饰流):

package LessonForIO05;

import java.io.*;

public class WriterAndReaderTest01 
{
	public static void read(File file)
	{
		try 
		{
			FileReader _fr1 = new FileReader(file);
			BufferedReader _br1 = new BufferedReader(_fr1);
			
			String msg;
			
			while ((msg = _br1.readLine()) != null)
			{
				System.out.println(msg);
			}
			
			_br1.close();
			_fr1.close();
		} catch (IOException e) 
			{
				e.printStackTrace();
			}
	}
	
	public static String write(File file, String str)
	{
		try
		{
			FileWriter _fw1 = new FileWriter(file,true);
			BufferedWriter _bw1 = new BufferedWriter(_fw1);
			
			_bw1.write(str);
			_bw1.newLine();
			
			_bw1.flush();//刷新缓冲区防止写入失败。
			
			_bw1.close();
			_fw1.close();
		} catch (IOException e)
			{
				e.printStackTrace();
			}
		
		return str;
	}
	
	public static void main(String[] args) 
	{
		File file = new File("Test04.txt");
		
		//传出
		write(file,"helllllllllllllo");
				
		//读入
		read(file);
	}
}

本篇部分文字来源于:
咕嘟咖啡杨海滨老师 — 《java编程语言高级特性》
在这里十分感谢老师能够给我带来学习的激情。

2020.11.13
本文章是本人学习笔记,不进行任何商用所以不支持转载请理解!也请别拿去商用!
如果觉得对你有帮助那么欢迎你随时来回顾!
只为记录本人学习历程。
毕
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值