zoukankan      html  css  js  c++  java
  • java学习笔记 字符流Reader与Writer

    Writer类与Reader类是以字符流传输数据,一个字符是两个字节

    字符流除了是以字符方式(两个字节)传输数据外,另外一点与字节流不同的是字符流使用缓冲区,通过缓冲区再对文件进行操作。字节流字节对文件进行操作。使用字符流类时关闭字符流会强制将字符流缓冲区的类容输出,如果不想关闭也将字符流进行输出,使用Writer类的flush()方法。

    字符流的输出与输入操作

    import java.io.File;
    import java.io.IOException;
    import java.io.Writer;
    import java.io.FileWriter;
    import java.io.Reader;
    import java.io.FileReader;
    
    public class Test {
        public static void main(String[] args) {
            try{
                            //使用Writer类可以直接输出字符串            
                FileWriter out = new FileWriter("e:\java\io.txt");
                String str = "你好世界Hello Word!";
                String str1 = "你好世界Hello Word!!";
                out.write(str); 
                out.write("
    " + str1);//为什么out.write("
     + str1")不能实现转行?
                out.close();     
            }catch(IOException e) {
                e.printStackTrace();
            }
            try{  
                  //在文件后追加写入一个字符串         
                Writer out = new FileWriter("e:\java\io.txt",true);
                String str = "
    你好世界Hello Word!!!";
                out.write(str); 
                out.close(); 
                Reader in = new FileReader("e:\java\io.txt");
                int b;
                while ((b = in.read()) != -1) {
                    System.out.print((char)b);//字符流传输数据是两个直接,中文可以正确显示出来。    
                }
                in.close();    
            }catch(IOException e) {
                e.printStackTrace();
            } 
        }    
    }

    r1

    缓存区的操作

    import java.io.File;
    import java.io.IOException;
    import java.io.Writer;
    import java.io.FileWriter;
    import java.io.FileOutputStream;
    
    public class Test {
        public static void main(String[] args) {
            try{
                        String str = "e:\java\bbb.txt";
                        File f = new File(str);
                        FileWriter out = new FileWriter(f);
                        out.write("Hello Word!");
                        out.flush();//将缓存区输出
                        out.close();     
            }catch(IOException e) {
                e.printStackTrace();
            }
        }    
    }
  • 相关阅读:
    Centos7下部署两套python版本并存
    运维监控系统之Open-Falcon
    Linux下如何查看系统启动时间和运行时间以及安装时间
    linux下使用FreeRDP 连接 Windows 远程桌面
    python3.6环境部署文档
    应用Fiddler对手机应用来抓包
    Highcharts 向下钻取饼图
    Highcharts 散点图
    IntelliJ IDEA2017 激活方法
    iterable 类型
  • 原文地址:https://www.cnblogs.com/yhwsy/p/5751371.html
Copyright © 2011-2022 走看看