- LineNumberReader
- 数据输入输出流
- 内存操作流
- 打印流
LineNumberReader
可以获得和设置行号的缓冲字符输入流
public int getLineNumber() 获得当前行号
public void setLineNumber() 设置当前行号
public class IOtext {
public static void main(String[] args) throws IOException {
// BufferedReader br=new BufferedReader(new FileReader("io.text"));
LineNumberReader inr=new LineNumberReader(new FileReader(" io.text"));
// inr.setLineNumber(12); 设置行号
String line;
while ((line= inr.readLine())!=null){
System.out.println(inr.getLineNumber()+":"+line);
}
inr.close();
}
数据输入输出流:将数据以适当的方式写入/出流中
DataInputStream 写入
DataOutputStream 写出
public class IOtext {
public static void main(String[] args) throws IOException {
//创建数据输出流对象
DataOutputStream dos=new DataOutputStream(Files.newOutputStream(Paths.get("dos.text")));
// 创建数据输入对象 DataInputStream dos=new DataInputStream(Files.newInputStream(path));
//写的数据类型
dos.writeBoolean(true); //Boolean b=dos.readBoolean(ture); 读取数据
dos.writeByte(100);
dos.writeChar(102);
dos.writeDouble(3.14);
dos.writeFloat(2.5f);
dos.writeInt(12);
dos.writeLong(1234);
dos.writeShort(22);
dos.writeUTF("字符串");//以UTF_8方式来读字符串
dos.close();
}
}
内存操作流:一般用于存储临时信息
1.字节数组:
ByteArrayInputStream(byte[] buf)
ByteArrayOutStream()
2.字符数组:
charArrayReader
charArrayWrite
3.字符串
StringReader
StringWriter
打印流:
PrintStream 字节打印流
PrintWriter 字符打印流