Java:流(Stream)

流的概念

流(Stream),也有小溪的意思,系统中的流也可以用小溪来理解:单方向的,有位置的。

像一开始的“hello world”程序中,System是一个类,out是System类的一个静态成员,println是out成员可以做的一些事情
(方法),out这个成员是做输出的一个流。

Java中,所有输出都基于OutputStream,所有输入都基于InputStream这个类,
这两个类都是抽象的,我们能用它们具体的子类,我们可以参考来得知可以使用的方法
(如out除了println还可以使用什么方法)

流的实例

输入输出
public class test {
 

	public static void main(String[] args){
		System.out.print("hello world:");
		byte[] buffer = new byte[1024];
		try {									//read是阻塞函数(走到这里如果没输入会一直等待)
			int len = System.in.read(buffer);	//读取输入的字符,返回输入的字符的个数
			String s = new String(buffer, 0, len);
			System.out.println("读到了"+len+"字节");
			System.out.println(s);
			System.out.println("s的长度是: "+s.length());
		} catch (IOException e) {
			e. printStackTrace();
		}
	}

}

结果

hello world:123abc
读到了8字节
123abc

s的长度是: 8
输出到文件
public class test {
 

	public static void main(String[] args){
		System.out.print("hello");
		byte[] buffer = new byte[10];
		for(int i=0; i<buffer.length; i++) {
			buffer[i] = (byte)i;
		}
		try {
			FileOutputStream out = new FileOutputStream("a.dat");
			out.write(buffer);
			out.close();
		} catch (IOException e) {
			e. printStackTrace();
		}
	}
	
}

会在工作目录下创建一个a.dat文件,可以用WinHex软件来查看二进制文件。
现在基本只有在造轮子的时候会裸的使用FileInputStream和FileOutputStream来操作文件了。
在工作用我们不怎么使用FileInputStream和FileOutputStream来操作文件了,都是使用别人写好的工具。

下节(流过滤器)

Java:流过滤器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值