JavaSE-18.2.3【字符流写数据的5种方式、字符流读数据的2种方式】

 1 package day9.lesson2;
 2 
 3 import java.io.FileOutputStream;
 4 import java.io.IOException;
 5 import java.io.OutputStreamWriter;
 6 
 7 /*
 8 2.5 字符流写数据的5种方式
 9 
10     void write(int c) 写一个字符
11     void write(char[] cbuf) 写入一个字符数组
12     void write(char[] cbuf, int off, int len) 写入字符数组的一部分
13     void write(String str) 写一个字符串
14     void write(String str, int off, int len) 写一个字符串的一部分
15 
16     flush() 刷新流,之后还可以继续写数据
17     close() 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据
18 
19  */
20 public class OutputStreamWriterDemo {
21     public static void main(String[] args) throws IOException {
22         OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("stage2\\src\\day9\\lesson2\\osw2.txt"));
23 
24         /*//写一个字符
25         osw.write(97);
26         osw.flush(); //写数据时得刷新,不然内容没有真正被写入文件,文件无内容
27 
28         osw.write(98);
29         osw.flush();
30 
31         osw.write(99);
32         osw.close(); //关闭之前会先刷新流
33 
34 //        osw.write(100); //IOException: Stream closed*/
35 
36         //写一个字符数组
37         char[] chars = {'a', 'b', 'c', 'd'};
38 //        osw.write(chars);
39 //        osw.close();
40 
41         //写入字符数组的一部分
42 //        osw.write(chars, 0, chars.length);
43 //        osw.flush();
44 //        osw.write(chars, 1, 2);
45 //        osw.close();
46 
47         //写一个字符串
48 //        osw.write("abcdefgh");
49 //        osw.close();
50 
51         //写字符串的一部分
52         osw.write("abcdefgh", 0, "abcdefgh".length());
53         osw.flush();
54         osw.write("abcdefgh", 1, 3);
55         osw.close();
56     }
57 }
 1 package day9.lesson2;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.IOException;
 5 import java.io.InputStreamReader;
 6 
 7 /*
 8 2.6 字符流读数据的两种方式
 9     int read() 一次读一个字符数据
10     int read(char[] cbuf) 一次读一个字符数组数据
11  */
12 public class InputStreamReaderDemo {
13     public static void main(String[] args) throws IOException {
14         InputStreamReader isr = new InputStreamReader(new FileInputStream("stage2\\src\\day9\\lesson2\\osw2.txt"));
15 //        InputStreamReader isr = new InputStreamReader(new FileInputStream("stage2\\src\\day9\\lesson2\\StringDemo.java"));
16 
17         //一次读一个字符数据
18         /*int ch;
19         while ((ch=isr.read()) != -1){
20             System.out.print((char)ch);
21         } //abcdefghbcd*/
22 
23         //一次读一个字符数组数据
24         char[] chars = new char[1024];
25         int len;
26         while ((len=isr.read(chars)) != -1){
27             System.out.print(new String(chars, 0, len));
28         } //abcdefghbcd
29 
30         isr.close();
31     }
32 }

 

posted @ 2021-06-07 09:05  yub4by  阅读(46)  评论(0编辑  收藏  举报