一、java流的控制首先要先准备一个文件,例如:File f = new File(d:/lol.txt);
二、可以使用如下指令创建流,用于不同的用途
1.FileInputStream,FileOutputStream用于字节流,如 FileInputStream fis = new FileInputStream(f);
此处使用字节流,之后创建数组的时候要把数组的类型设置为byte,如byte all[] = new byte[(int)f.length()];
使用read与write输入输出
作用:将文件中的内容以ASCIII的形式读入读出
2.FileReader,FileWriter用于字符流
此处使用字符流,之后创建数组的时候要把数组的类型设置为char,如:char[] all = new char[(int)f.length];
使用reader与writer输入输出
作用:专门用于字符形式的读取和写入数据
3.解决每次读写都会访问硬盘的弊端--缓存流
基于字符流:
读取:FileReader后面紧接着使用BufferedReader,使用readLine()指令可以读取一行
输出:FileWriter后面紧接着使用PrintWriter ,之后用创建的缓存流直接printIn输出即可
立即写入: flush()
4.数据流
FileInputStream与DataInputStream;FileOutputStream与DataOutputStream;这里是在字节流的基础上进行操作。
然后使用如:int i = dis.readInt();
dos.writeBoolean(true);
dos.writeInt(300);等指令进行操作即可
作用:实现文件格式化顺序读写
5.对象流
序列化一个对对象:需要继承一个serializable,然后定义版本号,如
private static final long serialVersionUID = 1L;
在字节流的基础上使用ObjectOutputStream, ObjectInputStream创建对象输出输入流
6.System.in ,System.out控制台输入输出数据
Scanner s = new Scanner(System.in);之后可以使用s.nextLine()
7.流的分类
流分为字节流和字符流,字节流分为数据流和对象流,字符流又分为缓存流