IO流-转换流-Java
InputStreamReader/OutputStreamWriter用来实现将字节流转化成字符流。比如,如下场景
System.in是字节流对象,代表键盘的输入,如果想按行接受用户的输入时,就必须用到缓冲字符流BufferedReader特有的方法readLine(),但是发现在创建BufferedReader的构造方法的参数必须是一个Reader对象,这时候转换流InputStreamReader就用上了。
System.out也是字节流对象,代表输出到显示器,按行读取用户的输入后,并且要将读取的一行字符串直接显示到控制条,就需要用到字符流的writer(String str)方法,所以我们使用OutputStreamWriter将字节流转换为字符流。
1.通过转换流实现键盘输入屏幕输出
import java.io.*;
public class ConvertStream {public static void main(String[] args) {BufferedReader br = null; //字节输入缓冲流BufferedWriter bw = null; //字节输出缓冲流try {br = new BufferedReader(new InputStreamReader(System.in));bw = new BufferedWriter(new OutputStreamWriter(System.out));while(true) {bw.write("please input");bw.flush(); //这里不要忘记String input = br.readLine();bw.flush(); //这里不要忘记if("exit".equals(input)) {break;}bw.write(input);bw.newLine(); //另起一行输入bw.flush(); //这里不要忘记}}catch(Exception e) {e.printStackTrace();}finally {try {if(br!=null) {br.close();}if(bw!=null) {bw.close();}}catch(Exception e) {e.printStackTrace();}}}
}
2.通过字节流读取文本文件并添加行号
import java.io.*;
public class LineNumberDemo2 {public static void main(String[] args) {BufferedReader br = null;BufferedWriter bw = null;try {br = new BufferedReader(new InputStreamReader(new FileInputStream("d:/ee.txt")));bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:/eeee.txt")));String temp ="";int i = 1;while((temp = br.readLine())!=null) {bw.write(i+", "+temp);bw.newLine();i++;}bw.flush();}catch(Exception e) {e.printStackTrace();}finally {try {if(br!=null) {br.close();}if(bw!=null) {bw.close();}}catch(Exception e) {e.printStackTrace();}}}
}
IO流-转换流-Java相关推荐
- 【26天高效学习Java编程】Day22:Java中的属性集-缓冲流-转换流-序列化流详解
本专栏将从基础开始,循序渐进,由浅入深讲解Java的基本使用,希望大家都能够从中有所收获,也请大家多多支持. 专栏地址:26天高效学习Java编程 相关软件地址:软件地址 所有代码地址:代码地址 如果 ...
- 第十五章 IO流(转换流 字符流 字符缓冲流 打印流)
Java基础15 第十五章 IO流(转换流 字符流 字符缓冲流 打印流) 15.1 字符编码和字符集 15.1.1 字符编码 15.1.2 字符集 15.1.3 String类getBytes()方法 ...
- Java基础---认识IO流---字节流、字符流---缓冲流---转换流
一.认识IO流 I/O就是用于设备之间进行数据交互的对象所属的类型 IO流的体系结构:根据分类,有四种流对象类型 字节流:可以直接操作字节信息的流对象 字节输入流:InputStream 字节输出流: ...
- java基础—IO流——转换流的操作
转换流的使用 转换流: InputStreamReader:字节到字符的桥梁,解码. OutputStreamWriter:字符到字节的桥梁,编码 import java.io.Buf ...
- java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类
目录 1.概念 2.常用的文件操作 2.1 创建文件 2.2 获取文件相关信息 2.3 目录的操作和文件删除 3. IO流原理及流的分类 3.1 流的分类 4.InputStream 字节输入流 4. ...
- Java入门 第十三节(二)IO流转换流
文章目录 1. 什么时候使用转换流 2. 方法介绍 2.1 将控制台输入写入文件中 2.2 将文件中内容显示到控制台 3. 常见编码表 3.1 编码字节测试 4. 指定编码读取 4.1 转换流--读 ...
- java:IO流(缓冲流、对象流、控制台IO、转换流、java.io.File 类 )
目录 一.IO 流的结构体系 二.缓冲流:BufferedInputStream & BufferedOutputStream 三.对象流:ObjectInputStream & Ob ...
- io包下 文件类 字节流 字符流 缓冲流 转换流 序列化流 打印流
第一章 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.2 构造方法 public File(String pat ...
- java 缓冲流 转换流、序列化流、打印流
1.缓冲流 1.1 概述 缓冲流也叫作高效流,是对基本的FileXXX流的增强,所以也是4个流,按照数据类型分为: 字节缓冲流:BufferedInputStream,BuffteredOutputS ...
最新文章
- Windows Azure ISV博客系列:ReedRex 的sociobridge
- 【周报6.10-6.16】NLP,RL,GAN,DL框架等重磅专栏齐上线,这个月的有三AI你值得拥有...
- android多媒体编程题库,android 仿猿题库答题UI
- 那些年我们一起追逐的多线程(Thread、ThreadPool、委托异步调用、Task/TaskFactory、Parallerl、async和await)
- linux命令行聊天,Linux 下使用talk 进行聊天
- 基于队列的二叉树层次遍历
- fpga电平约束有什么作用_FPGA开发全攻略——时序约束
- 6U VPX 超高速信号采集处理板(XC7K325T + 4 片DSP TMS320C6678)
- 第四届“传智杯”全国大学生IT技能大赛(练习赛)【完结】
- hprose for php,基于swoole的Hprose for PHP 开发后端API服务 实践
- 报名软件批次分类code不能为空_为什么金蝶入库单保存时提示批号不能为空
- oppo手机投屏到电脑上
- pptpd搭建过程中 启动成功但不显示ppp0端口
- python读取excel的公司名称信息,并爬虫获取公司的经营范围信息,回填到excel中
- 面试了10几家软件公司测试岗位,做的面试题大盘点,重点大合集
- html5学习之音乐播放器的结构整理
- 奥比中光 Astra pro 深度相机在ROS Melodic的调试
- 【BI学习笔记】在Linux上安装Wyn Enterprise商业智能报表服务器
- 【车载】ABS/BAS/BA防抱死制动系统
- ITOP4412 OV5640摄像头模块
热门文章
- SQL指定的服务器名无效,SQL Server (MSSQLSERVER) 服务启动不了,系统日志显示由于下列服务特定错误而终止: 找不到映像文件中指定的资源名。...
- 一百以内偶数和和奇数和
- 一、需求测试-需求规格说明书规范
- 集合contains无效
- 二进制、八进制、十六进制(一)
- Webdings字体、Wingdings字体对照表、用CSS3绘制的各种小图标
- 工业相机、镜头、光源选择
- 我的入门第二课——自由测试
- SQL注入绕过--emoji表情包绕过 waf
- 【XP系统下载】联想品牌专用GHOSTXPSP3 v2013.03