Java——IO类,字符流写数据

时间:2023-03-09 07:22:00
Java——IO类,字符流写数据

body, table{font-family: 微软雅黑}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}

OutputStreamWriter写数据
█ OutputStreamWriter写数据方法
     ☞public void write(int c);                                          //写入单个字符。   
     ☞public void write(char[] cbuf);                               //写入字符数组。
     ☞public void write(char[] cbuf,int off,int len);        //写入字符数组的某一部分。    
     ☞public void write(String str);                                 //写入字符串。
     ☞public void write(String str,int off,int len);          //写入字符串的某一部分。

█ 字符流操作要注意的问题

     ☞flush()的作用
     ☞flush()和close()的区别
public static void main(String[] args) throws IOException {
                //字符流 = 字节流 + 编码表
                FileOutputStream fos = new FileOutputStream("1.txt");   
//没有影响。如果文件不存在,会创建
                //FileInputStream fis = new FileInputStream("2.txt");       //如果文件不存在,后续无法操作
                //OutputStreamWriter osw = new OutputStreamWriter(fos);  //这样写默认的编码表就是系统默认(utf-8)
                OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");

                osw.write("你好!");    //不写 flush 不能刷新缓冲写入文件,close 关闭文件也有这个功能
                osw.write('中');      //写入单个字符
                osw.write("初次见面,请多关照", 2, 3);    //写入字符串的一部分;从第二个字符开始写,一共写三个
                char[] ch = {'今','天','下','雨'};
                osw.write(ch);        //写入数组
                osw.write(ch, 2, 2);     //从数组第二个字符开始,写2两个到缓冲区
                osw.flush();      //刷新缓冲区,把管道里的数据写入文件
                osw.close();      //释放资源,但是释放之前会 flush
        }
}
Java——IO类,字符流写数据