标准输入输出流案例

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;


public class Demo {
 public static void main(String[] args) {
  InputStream is=System.in;//标准的输入流对象--读取操作
  OutputStream os=System.out;//标准的输出流对象--写的操作
  try {
   byte[] buffer=new byte[10];//缓冲区//0 1 2 3 4 5 6 7 8 9
   int len=0;//读取之后的实际长度//在UTF-8编码下,回车\r 换行\n也各占1个字节
   /*
    * read方法参数;
    * b-读入数据的缓冲区
    * off-数组b中将写入数据的初始偏移量
    * len-要读取的最大字节数
    */
   while((len=is.read(buffer,1,4))!=-1){//buffer缓冲区读入进去2位置开始0 1 2
    System.out.println("读取的实际长度-------"+len);
    os.write(buffer,0,4);//buffer缓冲区写进去2位置开始
   }
   
   System.out.println(len);
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  System.out.println(is+"=========");
 }

 
}

运行结果:

off - 相对于开始写入字节处的偏移量

 

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;


public class Demo {
 public static void main(String[] args) {
  InputStream is=System.in;//标准的输入流对象--读取操作
  OutputStream os=System.out;//标准的输出流对象--写的操作
  try {
   byte[] buffer=new byte[10];//缓冲区//0 1 2 3 4 5 6 7 8 9
   int len=0;//读取之后的实际长度//在UTF-8编码下,回车\r 换行\n也各占1个字节
   /*
    * read方法参数;
    * b-读入数据的缓冲区
    * off-数组b中将写入数据的初始偏移量
    * len-要读取的最大字节数
    */
   while((len=is.read(buffer,0,4))!=-1){//buffer缓冲区读入进去2位置开始0 1 2
    System.out.println("读取的实际长度-------"+len);
    os.write(buffer,0,4);//buffer缓冲区写进去2位置开始
   }
   
   System.out.println(len);
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  System.out.println(is+"=========");
 }

 
}

运行结果:

12345
读取的实际长度-------4
1234读取的实际长度-------3
5
4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值