JavaSE-17.3.2【字节流常用的构造方法和写数据的三种方式】
1 package day8.lesson3; 2 3 import java.io.File; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 8 /* 9 3.3 字节流常用的构造方法和写数据的三种方式 10 11 构造方法 12 FileOutputStream(String name) 13 FileOutputStream(File file) 14 15 写数据的三种方式 16 void write(int b) 17 将指定的字节写入此文件输出流,一次写一个字节数据 18 void write(byte[] b) 19 将b.length字节从指定的字节数组写入此文件输出流,一次写一个字节数组数据 20 void write(byte[] b, int off, int len) 21 将len字节从指定的字节数组开始,从偏移量off(索引)开始写入此文件输出流,一次写一个字节数组的部分数据 22 */ 23 public class FileOutputStreamDemo02 { 24 public static void main(String[] args) throws IOException { 25 FileOutputStream fos = new FileOutputStream("stage2\\src\\day8\\lesson3\\fos2.txt"); 26 /* 27 public FileOutputStream(String name) throws FileNotFoundException { 28 this(name != null ? new File(name) : null, false); 29 } 30 即文件已存在时不会再重新创建文件 31 */ 32 33 /*File file = new File("stage2\\src\\day8\\lesson3\\fos2.txt"); 34 FileOutputStream fos2 = new FileOutputStream(file); 35 // FileOutputStream fos2 = new FileOutputStream(new File("stage2\\src\\day8\\lesson3\\fos2.txt")); 36 //该构造方法实质与第一种构造方法的内部实现相同 37 fos2.close();*/ 38 39 //写入方式1 40 fos.write(97); 41 fos.write(98); 42 fos.write(99); 43 fos.write(100); 44 fos.write(101); 45 //'a' 'b' 'c' 'd' 'e' 46 47 //写入方式2 48 byte[] bytes = {102, 103, 104}; 49 fos.write(bytes); //'f' 'g' 'h';既然是数组,也可以理解为"fgh" 50 51 //PS:str.getBytes()返回字符串对应的字节数组 52 byte[] bytes1 = "ABCDEF".getBytes(); 53 fos.write(bytes1); 54 55 //写入方式3 56 fos.write(bytes1, 0, bytes1.length); 57 fos.write(bytes1, 1, 3); 58 59 fos.close(); 60 } 61 }