输入输出流
来源:互联网 发布:中兴通讯知乎 编辑:程序博客网 时间:2024/06/05 07:23
package www.test;
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;//读取之后的实际长度//在UTF8编码下,回车\r ,换行 \n也各占1个字节
/*
* read 方法参数
* b-读入数据的缓冲区
* off-数组b中将写入数据的初始偏移量
* len-要读取的最大字节数
*/
/*
* write
* str - 字符串
* off - 相对初始写入字符的偏移量
* len - 要写入的字符数
*/
while((len=is.read(buffer,2,3))!=-1){//2——〉指从内存中脚标2开始读取,3——〉指从内从中取3位
System.out.println("读取的实际长度------------"+len);//字符长度
os.write(buffer,1, 4);//1——〉指从内存中脚标1开始写出,4——〉指从内从中取4位
System.out.println("--------------");
}
}catch(IOException e){
e.printStackTrace();
}
}
}
由上面测试结果可得出
键盘上输入1234
根据read(buffer,2,3)
读取3个字符
从内存byte数组中下标第2个开始读入
根据write(buffer,1, 4)
写出4个字符
从内存byte数组中下标第1个开始获取4个字符
缓冲区域的数据一旦写入就会一直存在,等待下一次读入数据的覆盖
键盘上输入的数字大于读取的数字,所以利用while循环再次读取(回车\r ,换行 \n共占2个字节)
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- 输入输出流
- Java常用数据库连接字符串和驱动
- System.in与System.out(标准输入与标准输出)详解
- 【修正&完善】根据上排给出十个数,在其下排填出对应的十个数
- 基于Naive Bayes文本分类算法
- HDU 3722 Card Game
- 输入输出流
- Windows下YAF的安装问题
- MediaInfo源代码分析 4:Inform()函数
- jquery右下角弹出提示框
- 编译iOS上可用的sqlite3静态库
- HDU 3723 Delta Wave
- linux 命令行无线连接
- struts2-什么是框架
- 一个简单的字符设备驱动