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 }

 

posted @ 2021-06-05 10:59  yub4by  阅读(74)  评论(0编辑  收藏  举报