M_F_X_B_K的博客

初学者

从零基础接触java第九章第三节

  当你们把今天的分享听完后,大家便可以兴奋地告诉自己,我基本已经把java学完了,至于还有什么没学,在本篇结尾我会告诉大家。

  上一节跟大家分享了字节流,今天跟大家延伸一下,除了字节流,还有字节缓冲流,大家会问,字节缓冲流有什么用呢?大家知道,我们的字节流是一个字节一个字节地传输的,所以如果我们传输的文件过大时,便会很慢,于是我们便需要用缓冲字节流来加快我们的传输,扩大输出量输入量,好了,具体实列大家看以下代码:

public class Test1 {
public static void main(String[] args) {
String path = "D:/123.txt";
String path1 = "D:/124.txt";
BufferedInputStream in = null;
BufferedOutputStream out = null;
try {
in = new BufferedInputStream(new FileInputStream(path));
out = new BufferedOutputStream(new FileOutputStream(path1));
byte[] b = new byte[1024];
int len = 0;
while((len = in.read(b))!=-1){
out.write(b,0,len);
}
System.out.println("完毕");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
in.close();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

大家可以看到以上代码,大致写法和前面的FileOutputStream和FileInputStream一样,只不过我们把File改成了Buffer,由于缓冲流需要传入字节流对象,所以我们在定义缓冲流时同时通过构造函数传递了字节流。唯一的区别大家可以看到的便是我们多定义了一个字节数组byte,然后大小为1024个字节,这表示让我们的文件每次传递大小为1024个字节,然后通过in.read()方法传递进去,这样的话我们文件的传输速度便能达到1024个字节每次,速度便会加快很多,如果大家觉得没感觉,将第一行path后面的路径改个音频文件分别用字节流和缓冲字节流试试看。注意后缀是png还是MP3别搞错了。然后还有一个字符流,分别是FileReader和FileWrite,用法和字节流差不多,只不过字节流是一个字节一个字节地传,而字符流是以字符的形式传递的,然后便是字符流也有缓冲字符流,写法同样是将File改为Buffered,注意,缓冲字符流输出是一行一行输出的, 所以我们不需要再去定义byte,直接按照字节流的输入输出方式即可,只不过要将in.read改为in.readline()。好了,关于java我的分享便结束了,一共九个章节,可能一次性浏览完还是要花大家一天时间,希望能对后期对大家的帮助有一定的用。小编也如释重负,完成了java的所有分享,其实还有网络编程和枚举,这两个小编不会分享,因为小编认为大家后期自己就能学懂。那么恭喜大家,你已经是个java初级程序员了,感谢大家观看,同时最后小编还是强调一句话,有任何错误问题,希望大家能在下面提出,谢谢大家。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/M_F_X_B_K/article/details/52510513
文章标签: java初始学习
个人分类: java零基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭