- FileOutputStream
- FileInputStream
太久整理IO流我有些小忘记了,稍微整理一下。对流的操作可以分为对字节操作也可以分为对字符操作,如果是对字符操作的话就是字符串类型的了,对字节操作的话还会有影像,图片等内容。字节流的两个父类是OutPUtSream和InPutStream,我们先介绍OutPutStream最简单的子类FileOutPutStream。(根据莫名其妙增加的点击量来看,大家更喜欢看这部分的内容,但这个部分的内容我没写完,还有很多内容我都没写呢)
FileOutputStream
先介绍一下OutputStream的共性方法
close() :关闭此输出流并释放与此流相关联的系统资源。
flush() :刷新此输出流并强制缓冲区的字节被写入到目的地。
write(byte[] b):将 b.length 个字节从指定的字节数组写入此输出流。
write(byte[] b, int off, int len) :从指定的字节数组写入 len 字节到此输出流,从偏移量 off开始。 也就是说从off个字节数开始一直到len个字节结束
顾名思义是对文件内容进行操作的输出流,就是要写东西进文件里面,但注意,我首先介绍的方法写入会直接覆盖文件中原本的内容。
以下是两种构造方法
String fileName = “example.txt”;
FileOutputStream fos = new FileOutputStream(fileName);
以上代码使用文件名 “example.txt” 创建一个 FileOutputStream 对象,将数据写入到该文件中。如果文件不存在,则创建一个新文件;如果文件已经存在,则覆盖原有文件。
File file = new File(“example.txt”);
FileOutputStream fos = new FileOutputStream(file);
从文件末尾添加内容是创建方法
String fileName = “example.txt”;
boolean append = true;
FileOutputStream fos = new FileOutputStream(fileName, append);
以上代码使用文件名 “example.txt” 和追加标志创建一个 FileOutputStream 对象,将数据追加到该文件的末尾。如果文件不存在,则创建一个新文件;如果文件已经存在,则在文件末尾追加数据。
File file = new File(“example.txt”); boolean append = true;
FileOutputStream fos = new FileOutputStream(file, append);
FileInputStream
依旧先介绍IputStream输入流的一些共性操作
close() :关闭此输入流并释放与此流相关的系统资源。
int read(): 从输入流读取数据的下一个字节。
read(byte[] b): 方法会从输入流中最多读取 b.length 个字节,并将它们存储到缓冲区数组 b 中,读取不到返回-1
创建方法和输出流差不多重点介绍read方法
read()方法会读取一个字节并返回其整数表示。如果已经到达文件的末尾,则返回 -1。如果在读取时发生错误,则会抛出 IOException 异常
// 创建一个 FileInputStream 对象
FileInputStream fis = new FileInputStream("test.txt");
// 读取文件内容
int data;
while ((data = fis.read()) != -1) {
System.out.print((char) data);
}
// 关闭输入流
fis.close();
使用字节数组读取:read(byte[] b) 方法会从输入流中最多读取 b.length 个字节,并将它们存储到缓冲区数组 b 中。
// 创建一个 FileInputStream 对象
FileInputStream fis = new FileInputStream("test.txt");
// 读取文件内容到缓冲区
byte[] buffer = new byte[1024];
int count;
while ((count = fis.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, count));
}
// 关闭输入流
fis.close();









