Java Io 学习记录

字符流 与 字节流

字符流 : 每次都读入/读出一个字节的二进制,读数作为低字节,高位为0合成一个
十六位整型量,若输入流/输出流当前位置无数据则返回`-1`.  

字节流 : 每次读入/读出两个字节

inputstream,outputstream是两个最基本的字节流

inputstream 子类:

  • FileinputStream
  • ByteArrayInputStream
  • ObjectInputStream

  • (OutputStream类似)

Reader,Writer是最基本的字符流(抽象类)

Reader常用子类

  • BufferReader
  • FileReader
  • OutputStreamReader * :字符流通向字节流的桥梁

  • (Writer类似)

三个基本流

  • System.in : 键盘输入
  • System.out : 输出到屏幕
  • System.err : 用于显示出错信息

多种IO方式

从命令行读入字符串

1
2
3
InputStreamReader nw = new InputStreamReader(System.in);//与控制台建立连接
BufferedReader bf = new BufferedReader(nw);//封装流
System.out.print( bf.readLine() );//读取流并显示

将字符串写入磁盘文件

1
2
3
4
5
FileWriter fr = new FileWriter("C:\\1.txt");//与文件建立连接
BufferedWriter bWriter = new BufferedWriter(fr);//封装流
String s = "text";
bWriter.write(s);//写入字符串
bWriter.newLine();//写入换行符

将基本数据类型写入/读出

1
2
3
4
5
6
7
8
9
10
File file = new File("C:\\1.txt");//与文件建立连接
FileOutputStream fos = new FileOutputStream(file);//形成文件流
DataOutputStream dout = new DataOutputStream(fos);//形成数据输出流

//写入或读出
int v = 123;
float f = 1.23;
dout.writeInt(v);//写入int类型数据
dout.writeFloat(f);
dout.close();

tip:
int read(byte[] b) : 从输入流中读出一定的字节,存放到b数组中,并返回缓冲区中的总字节数


本文标题:Java Io 学习记录

文章作者:定。

发布时间:2016年12月17日 - 23时12分

本文字数:1,109字

原始链接:http://cocofe.cn/2016/12/17/java-io-学习记录/

许可协议: Attribution-NonCommercial 4.0

转载请保留以上信息。