文档章节

自定义buffered缓存流

chenruibing
 chenruibing
发布于 2015/06/14 16:16
字数 373
阅读 84
收藏 0

精选30+云产品,助力企业轻松上云!>>>

自定义字符缓存流

import java.io.*;
class mybuffered
{
	private FileReader fr = null;
	mybuffered(FileReader fr)
	{
		this.fr = fr ;
	}
	public String mynewline()throws IOException
	{
		StringBuilder sb = new StringBuilder();
		int demo = 0;
		while ((demo = fr.read())!=-1)  //多次返回之后指针还是会自动改变的
		{
			if (demo == '\r')           //int 和 char 之间是会自动匹配的
				continue;
			if (demo == '\n')
				return sb.toString();
			sb.append((char)demo);
		}
		if (sb.length()!=0)
		{
			return sb.toString();
		}
		return null ;
		
	}
	public void myclose()throws IOException
	{
		fr.close();
	}
}
public class anli
{
	public static void main (String[] args)throws IOException
	{
		FileReader fr = new FileReader("demo.txt");
		mybuffered mf = new mybuffered(fr);
		String str = null;
		while ((str = mf.mynewline())!=null)
		{
			sop(str);
		}
		mf.myclose();
	}
	public static void sop (Object obj)
	{
		System.out.println(obj);
	}
}
自定义字节缓存流

import java.io.*;
class mybufferedinputstream
{
	private FileInputStream in ;
	private int pos = 0,count = 0;  //在java中,类中可以初始化,这点和C++不一样
	private byte[] bt = new byte[1024];
	mybufferedinputstream(FileInputStream in)
	{
		this.in = in ;
	}
	public void myclose()throws IOException //只需要在这里抛出异常就可以了
	{                 //这里用的是public,因为是公共部分给人调用的。。。
		in.close();   //类中不可以调用自己类中的函数,除非是定义为静态的,就好像是主函数那样子
	}
	public int myread ()throws IOException  //返回值是byte,而返回类型确实int,其中的含义
	{
		if (count==0)
		{
			count = in.read(bt);
			if (count < 0)
			{
				return -1;
			}
			pos = 0;  //记得把pos恢复为0
			byte term = bt[pos];
			count--;
			pos++;
			return term&255;   //255的含义
		}
		else if (count > 0)
		{
			byte term = bt[pos];  //存放的是字节
			count--;
			pos++;
			return term&255;
		}
		return -1;
	}
}
public class anli
{
	public static void main (String[] args)throws IOException
	{
		FileInputStream fi = new FileInputStream ("anli.java");
		mybufferedinputstream ms = new mybufferedinputstream(fi);
		int term = 0;
		while ((term = ms.myread())!=-1)
		{
			sop((char)term);
		}
	}
	public static void sop(Object obj)
	{
		System.out.print(obj);
	}
}



chenruibing
粉丝 12
博文 203
码字总数 109101
作品 0
潮州
私信 提问
加载中
请先登录后再评论。
java io流和异常处理

流 大体上是一个连续得数据流 ,可以从流中读取数据,也可以写入数据流 可以是字节流,也可以是字符流 类 InputStream OutputStream Reader Writer 这些类在javaio中负责不同的功能 文件访问...

writeademo
06/01
10
1
RequestContext中的buffered与lazy-commit服务

(1)<buffered>与<lazy-commit>关系 1.什么是提交 当浏览器向服务器发出请求,服务器就会返回一个Response响应。每个Response分为2部分:headers和content。 在服务器应用响应Request的过程...

cpf2016
2016/03/02
0
0
缓存io和非缓存io

首先,先稍微了解系统调用的概念: 系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的...

osc_j6x7mc4h
2019/10/13
0
0
Java进阶-IO基础

计算机最重要的功能是处理数据。一个有用的计算机语言需要拥有良好的IO功能,以便让未处理的数据流入程序,让已处理的数据流出。 与其他语言相比,Java的IO功能显得复杂。在其他语言中,许多...

_奇洛
2016/01/21
76
0
21 Java学习之字节流(InputStream和OutPutStream)

一.流的分类 1、从功能上:输入流、输出流 2、从结构上:字节流、字符流 3、从来源上:节点流、过滤流   其中InputStream/OutputStream是为字节流而设计的,Reader/Writer是为字符流而设计...

osc_zqnsx4hz
2018/10/18
2
0

没有更多内容

加载失败,请刷新页面

加载更多

PG库实现 t+1 同步

需求:业务场景中有很多需要查询t+1的数据,但又不想影响生产实时的业务,是否可以搭建一个延时的灾备库就可以解决这个问题呢。 问题:如何实现延时? 解决方向:recovery_min_apply_delay ...

易野
7分钟前
0
0
jpgraph 实例文档

下载 在官方网站http://www.aditus.nu/jpgraph/ 下载jpgraph,其中1.X系列是用于PHP4的,2.X系列是用于PHP5的。 安装 将下载的得到的jpgraph压缩文件解压至相应的路径。 配置 首先需要注意的...

osc_2ch77h9m
8分钟前
9
0
画IDC状态趋势图

[背景]公司以前对IDC状态的测试都是通过perl+crond结合,向指定某IDC的IP发送icmp包,并将其结果保存到test.log下,对于后斯的分析,是采取手工的方式(格式化数据,结合excel),这样操作下...

osc_moibnxyj
8分钟前
13
0
整理性能计数器注释

[前话]收集性能计数器注释,以备使用! [内容] 1 % Processor Time (Processor _Total) 指处理器用来执行非闲置线程时间的百分比。计算方法是,度量处理器用来执行空闲线程的时间,然后用 10...

osc_5nscij7v
10分钟前
0
0
你想要的WinForm界面开发教程在这里 - 如何设置较厚的表格边框

下载DevExpress v20.1完整版 DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。想要体验?点击下载>> 应用程序的外观随时代发展不断变化,自厚...

FILA6666
10分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部