`
哈达f
  • 浏览: 119629 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

字节缓存原理 BufferedInputStream

    博客分类:
  • j2se
 
阅读更多
import java.io.*;

class MyBufferedInputStream
{
	private InputStream in;
	private byte[] arr = new byte[1024*4];
	private int pos=0,count=0;

	MyBufferedInputStream(InputStream in)
	{
		this.in = in;
	}

	public int myRead()throws IOException
	{
		if(count==0)
		{
			count = in.read(arr);
			if(count<0)
				return -1;
			pos = 0;
			byte b = arr[pos];

//			System.out.println("b="+b);
			pos++;
			count--;
			return b&255;
		}
		else if(count>0)
		{
			byte b = arr[pos];

//			System.out.println("b=="+b);
			pos++;
			count--;
			return b&0xff;
		}
		return -1;
	}
	public void myClose()throws IOException
	{
		in.close();
	}
}
/*

byte -1

11111111 


int -1

11111111 11111111 11111111 11111111 

00000000 00000000 00000000 11111111 

*/

 

分享到:
评论

相关推荐

    BufferedInputStream(缓冲输入流)详解_动力节点Java学院整理

    BufferedInputStream 的工作原理是通过一个内部缓冲区数组实现的。例如,在新建某输入流对应的 BufferedInputStream 后,当我们通过 read() 读取输入流的数据时,BufferedInputStream 会将该输入流的数据分批填入到...

    BufferedInputStream的用法3---马克-to-win java视频

    BufferedInputStream的用法3---马克-to-win java视频缓存输字节流

    Java IO流常用字节字符流原理解析

    * BufferedInputStream:BufferedInputStream是带缓存的字节输入流,用于提高读取速度。它内部有一个缓存区,用于存储读取的字节数据,然后将其返回给用户。 二、字符流 字符流是Java IO流中另一类基本的流类型,...

    BufferedInputStream的用法1---马克-to-win java视频

    BufferedInputStream的用法1---马克-to-win java视频

    day10_转换流、高效流1

    练习三中提到的文件复制是通过高效字节输入流(BufferedInputStream)和高效字节输出流(BufferedOutputStream)实现的。这种方式能以字节数组为单位读写文件,提高复制效率。同时,一次读写一个字节数组可以避免...

    详解Java中字符流与字节流的区别

    BufferedInputStream可以在内存中缓存一定数量的字节,从而减少磁盘IO的次数,提高读取效率。 使用字符流的注意事项 在使用字符流时,我们需要注意编码方式的选择。如果我们选择错误的编码方式,可能会导致数据...

    BufferedInputStream的用法2---马克-to-win java视频

    BufferedInputStream的用法2---马克-to-win java啊视频

    java的输入输出流

    BufferedInputStream和BufferedOutputStream则通过缓存数据提高了读写性能。DataStream允许我们处理基本类型的数据,如int、float和double,而不仅仅是字节或字符。 在实际编程中,我们通常会根据需求选择合适的流...

    Android通过URL获取网络资源.doc

    为了避免频繁读取字节流,提高读取效率,我们可以使用 BufferedInputStream 缓存读到的字节流: ```java BufferedInputStream bis = new BufferedInputStream(is); ``` 然后,我们可以使用 read 方法读入网络数据...

    我的简历题(你们好).docx

    常见的字节流有InputStream、FileInputStream、BufferedInputStream等。 2. 字符流:字符流是指以字符为单位的流。常见的字符流有Reader、FileReader、BufferedReader等。 四、IO流的使用 IO流的使用可以分为以下...

    Java IO流 总结

    BufferedInputStream和BufferedReader是缓冲流的输入流,负责将数据缓存在内存中,以提高输入性能。 b) 输出流:BufferedOutputStream BufferedWriter BufferedOutputStream和BufferedWriter是缓冲流的输出流,...

    Input和Output.pdf

    例如,DataInputStream可以读取基本类型的Java数据类型,BufferedInputStream使用缓冲技术提高效率,LineNumberInputStream记录输入流中的行数。这些过滤流可以在原有流的基础上增加额外的功能,比如缓存、格式化或...

    JAVA7种IO流的基本使用

    在这个话题中,我们将深入探讨Java中的七种主要IO流及其基本用法,包括BufferedWriter、FileReader、转换流(InputStreamReader/OutputStreamWriter)以及缓存流(BufferedInputStream/BufferedOutputStream)。...

    网络类加载器实现

    3. **字节流处理**:从网络连接中读取字节流,通常使用`InputStream`,然后使用`BufferedInputStream`或`DataInputStream`提高效率。读取完字节流后,可能需要将其转换为字节数组。 4. **类的定义**:使用`...

    java第八章 流(内容非图片,可直接复制操作).doc

    例如,BufferedInputStream和BufferedOutputStream可以提高读写性能,而PrintWriter和BufferedReader则提供了方便的文本输出和读取。 在使用流进行数据传输时,必须注意流的关闭。调用close()方法可以释放系统资源...

    获取网络图片并显示

    BufferedInputStream提高读取效率,ByteArrayOutputStream用于接收数据并转换为字节数组。 ```java BufferedInputStream bis = new BufferedInputStream(in); ByteArrayOutputStream baos = new ...

    Java流(文件读写操作).docx

    - `BufferedInputStream`和`BufferedOutputStream`对字节流提供缓冲,使用`flush()`方法强制写出缓存数据。 5. **类层次结构**: - `InputStream`、`OutputStream`、`Reader`和`Writer`是所有字节流和字符流的...

    超详细资源JAVA中的IO流

    处理流是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能,例如BufferedInputStream(缓冲字节流)。节点流和处理流应用了Java的装饰者设计模式。 序列化 序列化是Java中的...

    Java实训 Java高级应用编程 第3章 文件与流(共53页).ppt

    3. **字节流的层次结构**:字节流主要包括节点流(如`InputStream`和`OutputStream`)和处理流(如`BufferedInputStream`和`FilterOutputStream`)。节点流是直接连接到数据源或目的地的流,而处理流通常用于增强...

    JAVA 文件常用流操作.zip

    - **FilterInputStream** 和 **FilterOutputStream** 是字节流的过滤器,如BufferedInputStream和BufferedOutputStream,它们提供缓冲功能,提高读写性能。 2. **字符流**: - **Reader**: 用于读取字符数据,如...

Global site tag (gtag.js) - Google Analytics