1、 流的继承关系,以及字节流和字符流。

2、 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和BufferedOutputStream。以及对应的FileOutputWriter,FileInputReader,BufferedInputReader,BufferedOutputWriter。
3、 转换流InputStreamReader和OutputStreamWriter
一:流的继承关系
字节流
字符流
字符流和字节流的使用范围:字节流一般用来处理图像,视频,以及PPT,Word类型的文件。字符流一般用于处理纯文本类型的文件,如TXT文件等,字节流可以用来处理纯文本文件,但是字符流不能用于处理图像视频等非文本类型的文件。
二:处理流BufferedReader,BufferedWriter,BufferedInputStream
BufferedOutputsStream,都要包上一层节点流。也就是说处理流是在节点流的基础之上进行的,带有Buffered的流又称为缓冲流,缓冲流处理文件的输入输出的速度是最快的。所以一般缓冲流的使用比较多。
下面是两个简单的文件复制的实例:
public class MycopyTest {
public static void main(String[] args) {
File src = new File("D:/1.jpg");
// D:/1.jpg必须的存在不然会报错
File dest = new File("D:/2.jpg");
// 如果D:/2.jpg存在则覆盖,如果不存在则新建
streamCopy(src, dest);
}
private static void readCopy(File src,File dest)
{
FileReader fr=null;
FileWriter fw=null;
BufferedReader br=null;
BufferedWriter bw=null;
try {
fr=new FileReader(src);
fw=new FileWriter(dest);
br=new BufferedReader(fr);
bw=new BufferedWriter(fw);
String str;
while((str=br.readLine())!=null)
{
bw.write(str);
bw.newLine();
}
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
bw.close();
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void streamCopy(File src, File dest) {
FileInputStream fis = null;
FileOutputStream fos = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
fis = new FileInputStream(src);
fos = new FileOutputStream(dest);
bis = new BufferedInputStream(fis);
bos = new BufferedOutputStream(fos);
int len;
byte[] b = new byte[1024];
while ((len = bis.read(b)) != -1) {
bos.write(b, 0, len);
// bos.write(b,0,len);是把读到数组的大小字节写入
// bos.write(b);最后一次如果数组未写满的话就会多读。
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
bos.close();
bis.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
三:转换流InputStreamReader和OutputStreamWriter
转换流的作用,文本文件在硬盘中以字节流的形式存储时,通过InputStreamReader读取后转化为字符流给程序处理,程序处理的字符流通过OutputStreamWriter转换为字节流保存。
public class InputStreamWriterTest {
public static void main(String[] args) {
File src = new File("D:/Files/哈哈.txt");
File dest = new File("D:/Files/斯密斯.txt");
BufferedWriter bw = null;
BufferedReader br = null;
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(src);
fos = new FileOutputStream(dest);
InputStreamReader ir = new InputStreamReader(fis, "GBK");
OutputStreamWriter ow = new OutputStreamWriter(fos, "GBK");
bw = new BufferedWriter(ow);
br = new BufferedReader(ir);
String str;
while ((str = br.readLine()) != null) {
bw.write(str);
bw.newLine();
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
bw.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上这篇关于Java中的IO流总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# java io流总结
# 给大家
# 文本文件
# 就会
# 是在
# 都要
# 希望能
# 不存在
# 这篇
# 报错
# 转化为
# 比较多
# 转换为
# 小编
# 读到
# 中以
# 大家多多
# 可以用来
# 写满
# 基础之上
# 包上
相关文章:
如何在企业微信快速生成手机电脑官网?
建站之星备案是否影响网站上线时间?
免费视频制作网站,更新又快又好的免费电影网站?
建站之星如何开启自定义404页面避免用户流失?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
如何在IIS服务器上快速部署高效网站?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
如何通过西部建站助手安装IIS服务器?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
表情包在线制作网站免费,表情包怎么弄?
建站之星安装需要哪些步骤及注意事项?
宝塔新建站点为何无法访问?如何排查?
如何在云主机上快速搭建网站?
如何配置IIS站点权限与局域网访问?
如何通过IIS搭建网站并配置访问权限?
建站之星图片链接生成指南:自助建站与智能设计教程
css网站制作参考文献有哪些,易聊怎么注册?
建站之星云端配置指南:模板选择与SEO优化一键生成
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
高端云建站费用究竟需要多少预算?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Java解压缩zip - 解压缩多个文件或文件夹实例
建站之星收费标准详解:套餐费用及年费价格表一览
5种Android数据存储方式汇总
建站之星如何保障用户数据免受黑客入侵?
如何快速打造个性化非模板自助建站?
黑客如何通过漏洞一步步攻陷网站服务器?
Android自定义控件实现温度旋转按钮效果
网站制作模板下载什么软件,ppt模板免费下载网站?
建站之星与建站宝盒如何选择最佳方案?
建站之星会员如何解锁更多建站功能?
高防服务器租用指南:配置选择与快速部署攻略
非常酷的网站设计制作软件,酷培ai教育官方网站?
制作网站外包平台,自动化接单网站有哪些?
再谈Python中的字符串与字符编码(推荐)
内部网站制作流程,如何建立公司内部网站?
如何彻底卸载建站之星软件?
三星网站视频制作教程下载,三星w23网页如何全屏?
,有什么在线背英语单词效率比较高的网站?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
如何快速上传自定义模板至建站之星?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
香港网站服务器数量如何影响SEO优化效果?
网页设计与网站制作内容,怎样注册网站?
网站制作新手教程,新手建设一个网站需要注意些什么?
*请认真填写需求信息,我们会在24小时内与您取得联系。