在上一个刚刚介绍了File类,创建了文件或者文件夹,但是里面的数据是怎么操作它呢,若想操作文件中的数据,需要借助字节流或者字符流。
字节流
字节流是由字节组成的,字符流是由字符组成的.
IO流的分类
- 字节流
- 字节输入流 InputStream 抽象类
- FileInputStream 操作文件的字节输入流
- 字节输出流 OuputStream抽象类
-FileOutputStream 操作文件的字节输出流
- 字符流
- 字符输入流 Reader抽象类
- InputStreamReader 输入操作的转换流
- FileReader 用来操作文件的字符输入流(简便的流)
- 字符输出流 Writer抽象类
- OutputStreamWriter 输出操作的转换流
- FileWriter 用来操作文件的字符输出流(简便的流)
字节输出流OutputStream
OuputStream是一个抽象类,表示输出字节流的所有类的超类,操作的数据都是字节,字节流处理单元为一个字节。
使用OuputStream该抽象类的子类如FileOutputStream、ObjectOutputStream.
字节输出流中定义的方法主要为write方法,如:
void write(byte[] b);//将b.length个字节从指定的byte数组写入此输出流。
void write(byte[] b,int off,int len);//将指定的byte数组中从偏移量off开始的冷个字节写入此输出流。
abstract void write(int b);//将指定的字节写入此输出流。
FileOutputStream类
即文件输出流,是用于将数据写入 File
的输出流。
构造方法
FileOutputStream(File file);//创建一个向指定File对象表示的文件中写入数据的文件输出流
FileOutputStream(String name);//创建一个向指定路径名字符串表示的文件中写入数据的文件输出流
实例-写入数据到文件中:
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
//需求:将数据写入到文件中。
//创建存储数据的文件。
File file = new File("c:\\file.txt");
//创建一个用于操作文件的字节输出流对象。一创建就必须明确数据存储目的地。
//输出流目的是文件,会自动创建。如果文件存在,则覆盖。
FileOutputStream fos = new FileOutputStream(file);//使用传入File对象的构造方法
//调用父类中的write方法。
byte[] data = "abcde".getBytes();//使用String类中的getBytes方法将String对象变为Byte数组
fos.write(data);
//关闭流资源。
fos.close();
}
}