IO流分类:
根据流向分为:输入流****和输出流。
根据格局数据类型分为:字节流和字符流。
字节流
字节流的输出流:
public FileOutputStream(File file) :创建文件输出流以写入由指定的 File对象表示的文件。 目的地是一个文件夹的路径
FileOutputStream fos1 =new FileOutputStream(new File("09_IOAndProperties\\\\a.txt"));
public FileOutputStream(String name) : 创建文件输出流以指定的名称写入文件。 目的地是一个文件
//1.创建一个FileOutputStream对象,构造方法中传递写入数据的目的地
FileOutputStream fos = new FileOutputStream("09_IOAndProperties\\a.txt");
//2.调用FileOutputStream对象中的方法write,把数据写入到文件中
//public abstract void write(int b) :将指定的字节输出流。
fos.write(97);
//3.释放资源(流使用会占用一定的内存,使用完毕要把内存清空,提供程序的效率)
fos.close();
public void close() :关闭此输出流并释放与此流相关联的
任何系统资源。
public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。
public void write(byte[] b) :将 b.length字节从指定的字节数组写入此输出流。
public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输 出到此输出流。
off 是数组的开头索引 len数组的长度
byte[] bytes = {65,66,67,68,69};
fos.write(bytes);
fos.write(bytes,1,2);//BC
//写入字符的方法:可以使用String类中的方法把字符串,转换为字节 //数组 byte[] getBytes() 把字符串转换为字节数组
byte[] bytes2 = "你好".getBytes();
System.out.println(Arrays.toString(bytes));
//[-28, -67, -96, -27, -91, -67]
fos.write(bytes2);
public abstract void write(int b) :将指定的字节输出流。
FileOutputStream(String name, boolean append)创建一个向具有指定 name 的文件中写入数据的输出文件流。
FileOutputStream(File file, boolean append) 创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
String name,File file:写入数据的目的地
boolean append:追加写开关
true:创建对象不会覆盖源文件,继续在文件的末尾追加写据
false:创建一个新文件,覆盖源文件
public class Demo03OutputStream {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream(new File("09_IOAndProperties\\c.txt"),true);
for (int i = 0; i < 10; i++) {
fos.write("你好".getBytes());
fos.write("\r\n".getBytes());
}
fos.close();
}