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