JAVA IO——字节流

java标准的 io

输入与输出
标准io是让我们可以用 相同的读写方式 读写一切需要 读写外接设备

java.io.InputStream和OutputStream 他们是所有 字节 输入流与输出流的 超类

  • 并且他们是抽象类自身是不能实例化的,但是规定了所有流都必须具备的读写方法
  • java将流按照方向划分为输入与输出,输入流用于读数据,输出流用于写数据

java流分为两类:节点流和处理流

  1. 节点流(低级流):
    连接程序与数据源的管道,负责实际对写数据的流,读写数据一定是建立在节点流的基础上进行的
  2. 处理流(高级流):
    不能独立存在,必须连接在其他流上,目的是当数据流经当前流是可以对数据进行
    加工处理简化我们对数据的操作工作

串联一组高级流并最终连接到低级流上,使得读写数据一流水线的方式进行,这种操作称为流的链接
这也是我们学习Io的精髓所在

  1. 流读写数据时是顺序读写的,即:读写只能顺序向后进行,不能回退

OutputStream(输出流)

  OutputStream os = new FileOutputStream("test.txt");
        InputStream is=new FileInputStream("text.txt");
        String str = "秋水浮萍";
        //使用String类的getByte方法将字符串变成字节码文件
        byte[] bytes = str.getBytes("utf-8");
        os.write(bytes);
        os.write(98);//这里写入的是ASCII码
        os.close();

FileOutputStream(“test.txt”,true)不会覆盖掉原来的内容,在末尾继续添加

  OutputStream os = new FileOutputStream("test.txt",true);
        InputStream is=new FileInputStream("text.txt");
        String str = "秋水浮萍";
        //使用String类的getByte方法将字符串变成字节码文件
        byte[] bytes = str.getBytes("utf-8");
        os.write(bytes);
        os.write(98);//这里写入的是ASCII码
        os.close();

InputStream(输入流)

InputStream is=new FileInputStream("C:\\Users\\fujian\\Desktop\\java1\\c.txt");
		//单字符读取 len为Unicode编码
		int len;
		
		while((len=is.read())!=-1) {
		System.out.print((char)len);
		}
InputStream is=new FileInputStream("C:\\Users\\fujian\\Desktop\\java1\\c.txt");
//字符串形式读取
		byte[] b=new byte[1024*10];
		int a;
		while((a=is.read(b))!=-1) {
			System.out.println(new String(b,0,a));
			
		}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值