java 中 转换流是以字符流的形式操作字节流,需要注意一下两点:

1、操作内容必须是纯文本

2、指定字符集避免乱码

操作控制台输入输出:

try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));) {
String msg = "";
while (!msg.equals("exit")) {
msg = br.readLine();
bw.write(msg);
bw.newLine();
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
}

这里没有指定字符集是因为控制台和工程的字符集一致,不会乱码

操作网络流:

try (BufferedReader read = new BufferedReader(
new InputStreamReader(new URL("http://www.baidu.com").openStream(),"utf-8")); BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream("baidu.html"),"utf-8")); ) {
String msg = "";
while ((msg = read.readLine()) != null) {
System.out.println(msg);
writer.write(msg);
writer.newLine();
}
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}

基本就这样的套路,一般为了提高性能都会套上BufferedRead 和 BufferredWrite。

最新文章

  1. ASP.NET_各个币种之间的汇率转换(实时)使用Yahoo汇率。
  2. 如何开启win7端口的图文教程
  3. Java学习笔记(二十)——Java 散列表_算法内容
  4. C# Main函数的 args参数
  5. 文字垂直居中,水平居中 a标签水平居中只要给他的父级设置text-align=center
  6. Bootstrap栅格系统
  7. (转)Java关键字final、static使用总结
  8. 【React Native 实战】旋转图片验证码
  9. java 内存泄露 学习
  10. [Mugeda HTML5技术教程之16]案例分析:制作跨屏互动游戏
  11. ios 多线程 面试
  12. SSH整合之_架构的历史序列图
  13. AIM Tech Round 3 (Div. 2) B 数学+贪心
  14. liunx中图形化桌面环境中的脚本编程之——创建文本菜单
  15. [论文阅读] Deep Residual Learning for Image Recognition(ResNet)
  16. vscode 中 eslint 相关配置
  17. #254 Find the Longest Word in a String
  18. plupload多个实例,返回区分实例的返回
  19. APUE习题3.2用dup实现dup2以及shell中重定向符号的使用
  20. beego 初体验 - orm

热门文章

  1. JAVA——桌球游戏(动画)
  2. 2.Grpc消息定义
  3. MATLAB 概率论题
  4. 一篇让你明白什么是浏览器BOM方法的笔记
  5. IE,Google Chrome等浏览器,调试模式在控制台可以手动调用页面的方法来调试
  6. 1.Metasploit介绍与基本命令
  7. 牛客寒假基础集训营 | Day1 G-eli和字符串
  8. iOS开发 - 循环滚动的ScrollView
  9. C#通用类库整理--日志记录
  10. Hadoop安装教程_单机(含Java、ssh安装配置)