当前位置: 首页 > news >正文

IO转换流

InputStreamReader/OutputStreamWriter用来实现将字节流转化成字符流。

通过转换流解决乱码
public class TestInputStreamReader {public static void main(String[] args){//创建文件字节流输入流对象try(FileInputStream fis = new FileInputStream("d:/a.txt");//创建转换流(字节到字符的转换)流对象,并在流对象中指定编码InputStreamReader isr = new InputStreamReader(fis,"gbk")){StringBuilder sb = new StringBuilder();//操作流对象int temp = 0;while((temp = isr.read()) != -1){sb.append((char)temp);}   System.out.println();}catch(IOException e){e.printStackTrace();}}
}
通过转换流实现键盘输入屏幕输出
import java.io.*;public class TestConvertStream {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));//使用字符输入和输出流String str = br.readLine();//一直读取,直到用户输入了exit为止while(!"exit".equals(str)){//写到控制台bw.write(str);bw.newLine();  //写一行后换行bw.flush();  //手动刷新//再读一行str = br.readLine();}}catch(IOException e){e.printStackTrace()}finally{//关闭字符输入和输出流if(br != null){try{br.close();}catch(IOException e){e.printStackTrace();}}if(bw != null){try{bw.close();}catch(IOException e){e.printStackTrace();}}}}
}

相关文章:

  • EasyRecovery数据恢复软件具有哪些功能特点?2025版本啥时候更新
  • 大数据学习问题记录
  • 一文读懂筛选控件设计
  • Python深度学习基于Tensorflow(16)基于Tensorflow的对话实例
  • python中有时使用pip安装库而有时又使用conda安装库,到底应该使用哪个管理工具进行库的安装呀?
  • SVG画双色虚线并带有流动效果
  • Java - 随机存取文件类
  • c++自定义定时器
  • Flutter基础 -- Flutter容器布局
  • 【Redis】Hash介绍与应用详解
  • Huawei 大型 WLAN 组网 AC 间漫游
  • linux基础-数据库建库建表
  • SiC碳化硅陶瓷膜的热导性
  • Three.js动效(第11辑):大屏+3D+动效,三位一体,是绝配。
  • 为什么选择mobx
  • 【译】JS基础算法脚本:字符串结尾
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • ES2017异步函数现已正式可用
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java读取Properties文件的六种方法
  • js面向对象
  • mac修复ab及siege安装
  • PHP面试之三:MySQL数据库
  • rabbitmq延迟消息示例
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spark RDD学习: aggregate函数
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • 编写符合Python风格的对象
  • 缓存与缓冲
  • 技术发展面试
  • 聚簇索引和非聚簇索引
  • 如何进阶一名有竞争力的程序员?
  • 如何优雅地使用 Sublime Text
  • 异步
  • 用element的upload组件实现多图片上传和压缩
  • 最近的计划
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • ​力扣解法汇总946-验证栈序列
  • #define
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (floyd+补集) poj 3275
  • (二)Linux——Linux常用指令
  • (二十三)Flask之高频面试点
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (转)3D模板阴影原理
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .Net MVC + EF搭建学生管理系统
  • .net mvc 获取url中controller和action
  • .NET 药厂业务系统 CPU爆高分析
  • .NetCore部署微服务(二)
  • .NET企业级应用架构设计系列之开场白