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

原创 2016年09月12日 08:54:06

  当你们把今天的分享听完后,大家便可以兴奋地告诉自己,我基本已经把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初级程序员了,感谢大家观看,同时最后小编还是强调一句话,有任何错误问题,希望大家能在下面提出,谢谢大家。

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

上一节和大家分享了arraylist和linkedlist的用法,今天我将与大家继续分享集合。   关于集合还有set,那么set当然也是一个接口,这个接口下面也有两个子类接口,这两个子类接口分别是t...
  • M_F_X_B_K
  • M_F_X_B_K
  • 2016年09月06日 17:30
  • 108

从零基础接触java第六周第三节

前面已经跟大家分享完异常了,这次只跟大家简单分享一下匿名内部类,补充一个我们前面没说过的,还有便是代码块还缺少的一个同步代码块。   首先我跟大家说说匿名内部类,什么叫匿名内部类,难道就是没有名字吗...
  • M_F_X_B_K
  • M_F_X_B_K
  • 2016年08月25日 09:02
  • 121

从零基础接触java第五周第三节

上一节跟大家分享了static,今天,我与大家分享分享代码块,废话不多说,直接进入主题。   普通代码块,用于方法之中,列: class Examples{     public void co...
  • M_F_X_B_K
  • M_F_X_B_K
  • 2016年08月17日 08:47
  • 96

从零基础接触java第七周第三节

前面我跟大家简单地分享了多线程,但是我这儿少了进程和进程之间关系的生产者和消费者,以及线程池大家下来都可以去百度看看。   今天我要跟大家分享的是泛型。什么是泛型?前面我给大家说了类,以及我们定义变...
  • M_F_X_B_K
  • M_F_X_B_K
  • 2016年08月31日 08:50
  • 174

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

上一节我跟大家分享了io流中最基础的File,本节我跟大家继续分享io流中的输入流和输出流。   上一节中我跟大家分享的流中大家不知道下来熟悉过没有,都是用于我们创建文件和文件夹,然后还有便是用于我...
  • M_F_X_B_K
  • M_F_X_B_K
  • 2016年09月09日 08:53
  • 159

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

前面跟大家把集合分享完了,那么最后还有io流和网络编程便整个java结束了。   关于流,主要用于什么呢?比如我们在电脑上安装一个软件,然后系统会默认在我们电脑上创建文件夹文件,以及复制我们的文件夹...
  • M_F_X_B_K
  • M_F_X_B_K
  • 2016年09月07日 16:25
  • 136

从零基础接触java第三周

前面跟大家讲解了java的一些基础语法,数据类型等,其中,关于for、if、while、switch这四大发明我相信大家都了解得差不多了,我开始就讲过,我这些微博只是为了让大家大概了解自己所需要学习的...
  • M_F_X_B_K
  • M_F_X_B_K
  • 2016年08月09日 08:50
  • 112

《大话Java:从零基础到数据库,Web开发》读书笔记

《大话Java——从零基础到数据库,Web开发》自己记录的读书笔记,划重点
  • Elliot_2b
  • Elliot_2b
  • 2017年07月10日 14:49
  • 142

《Thinking in JAVA》读书笔记_第一章_1.2~1.3

1.2 每个对象都有一个接口 为何说没个对象都有一个接口?那就要从这个接口的定义上来说。在《TIJ》中所给出的解释是,接口确定了对某一特定对象所能发出的请求。 由之前的学习,我们可以认识到。对象是某个...
  • dy13145687
  • dy13145687
  • 2015年04月25日 16:08
  • 307

从零基础接触java第七周第四节

上一节已经跟大家分享到了泛型的通配符方面了,本节将继续与大家分享泛型。   关于泛型,除了通配符之外,还涉及了一个知识点便是extends和super,相信这两个单词大家一定很熟悉,没错,前面我们学...
  • M_F_X_B_K
  • M_F_X_B_K
  • 2016年09月01日 08:40
  • 110
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从零基础接触java第九章第三节
举报原因:
原因补充:

(最多只允许输入30个字)