BufferedInputStreamTest 带缓存的字节输入流

package IOliu;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedInputStreamTest {

    public static void main(String[] args) {
        StringBuffer sb = null;
        File file = null;
        File file2 = null;
        FileInputStream fis = null;
        FileOutputStream fos = null;
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;

        try {
            //带缓存的字节输入流
            file = new File("D:\\user.txt");
            fis = new FileInputStream(file);
            bis = new BufferedInputStream(fis);    

            //带缓存的字节输出流
            file2 = new File("D:\\2016.txt");
            fos = new FileOutputStream(file2);
            bos = new BufferedOutputStream(fos);
            int i = 0;
            sb = new StringBuffer();
            try {
                while((i = bis.read())!=-1){
                    char ch = (char)i;
                    sb.append(ch);
                    bos.write(ch);
                }
                System.out.println(sb.toString());
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }finally{
            try {
                bos.flush();
                fis.close();
                fos.close();
                bis.close();
                bos.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

}
时间: 2024-10-06 06:09:26

BufferedInputStreamTest 带缓存的字节输入流的相关文章

java 20 - 9 带有缓冲区的字节输出流和字节输入流

由之前字节输入的两个方式,我们可以发现,通过定义数组读取数组的方式比一个个字节读取的方式快得多. 所以,java就专门提供了带有缓冲区的字节类: 缓冲区类(高效类) 写数据:BufferedOutputStream 构造方法: BufferedInputStream(InputStream in) 创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用. BufferedInputStream(InputStream in, int size) 创建具有指定

蓝桥杯 地宫寻宝 带缓存的DFS

最近一个问题很困扰我,今天则得到了答案,也意味着我该选择了. 不知道大家有没有遇到过这样的情况,我是上年刚毕业,大四时进行过java培训,12年9月-13年4月,在这之前已经自学过java.7月份时进入一家公司工作,今年3月份辞职,4月份找到工作,来上班了.一开始就不太喜欢公司氛围,前台,hr,态度什么的都不太好,工作环境也极像客服部,整天电话不断,讨论声不断,第一个星期真是煎熬,去了两三天之后有辞职的想法,但是后面想想还是算了,公司待遇还可以. 但是进入到公司后leader让学PHP,学PHP

带缓存的字符输入输出流

缓存可以说是I/O的一种性能优化.缓存流为I/O流增加了内存缓存区.有了缓存区,使得在流上执行skip()\mark()和reset()方法都成为可能. 大纲: BufferedReader类与BufferWriter类 BufferedReader类与BufferWriter类分别继承了Reader类与Writer类.这两个类同样具有内部缓存机制,并可以行为单位行为单位进行输入.输出. 根据BufferedReader类的特点,可总结出字符数据读取文件的过程:字符数据==>BuffereaWr

AVPlayer封装的带缓存的视频播放器

使用AVPlayer封装实现了本地视频播放,以及边下边播在线视频,缓存完成后将视频保存在本地文件夹中,下次播放时直接从本地播放.并且实现了左右滑动快进快退视频.上下滑动调整音量,以及全屏功能. HcdCachePlayer 带缓存的播放器,使用AVPlayer封装开发. 简单介绍 HcdCacheVideoPlayer实现了边下边播在线视频,并且能将在线视频缓存在本地,支持左右滑动手势来调整视频播放进度,上下滑动手势调节音量大小,并且支持全屏播放.此控件使用了Masonry自动布局来实现全屏播放

File类的基本操作之InputStream字节输入流

话不多少,我直接把代码贴上来了.有什么问题请给我留言 package org.mark.streamRW; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; /** * 字节输出流:OutputStream,整个IO包中字节输出流的最大父类 * 字节输入流:InputStream * * InputStream使用子类FileInputStream.读取 */ public class

字节输入流写文本文件【OutputStream、FileOutputStream】

字节输入流写文本文件 1.OutputStream基类 作用:把内存中的数据输出到文件中. ※OutputStream类的常用方法 方法名称 说明 void write(int c) 写入一个字节数据 void write (byte[] b) 写入数组b的所有字节 void write (byte[]b , int off , int len) 将字节数组从off位置开始,长度为len的字节数据输出到输出流中 void close() 关闭输出流 2.字节输入流OutputStream类 常用

字节输入流和字节输出流

字节输入流:InputStream属于抽象类,用其子类FileInputStream进行实例化.(先定义字节数组,实例化输入流对象,读取文件内容到字节数组中,再输出) 第一种方式: package 字节流; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class InputStreamDemo01 { publ

java 20 - 7 字节输入流的操作

字节输入流操作步骤: A:创建字节输入流对象 B:调用read()方法读取数据,并把数据显示在控制台 C:释放资源 步骤A.C 略过,说步骤B  读取数据的方式:  A:int read():一次读取一个字节  B:int read(byte[] b):一次读取一个字节数组 要想进行字节输入流的操作,我得先创建一个文件,并用字节输出流输出内容到这个文件里面: 1 //首先我创建一个txt文件,并输出内容 2 File file = new File("a.txt"); 3 4 //用字

Yii的自带缓存的使用

Yii的自带缓存都继承CCache 类, 在使用上基本没有区别缓存基础类 CCache 提供了两个最常用的方法:set() 和 get().要在缓存中存储变量 $value,我们选择一个唯一 ID 并调用 set() 来存储它: Yii::app()->cache->set($id, $value); 被缓存的数据会一直保留在缓存中,直到因一些缓存策略而被删除(比如缓存空间满了,删除最旧的数据).要改变这一行为,我们还可以在调用 set() 时加一个过期参数,这样数据过一段时间就会自动从缓存中