• 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();
            }
        }    
    }
  • 相关阅读:
    主线程到子线程的相互切换
    IOS通过OTA部署App
    IOS应用之间调用
    静态库详解
    ObjectC的函数调用机制详解消息
    iOS6新特征:参考资料和示例汇总
    杭电acm2025
    杭电acm2051
    杭电acm1009
    杭电acm2099
  • 原文地址:https://www.cnblogs.com/yhwsy/p/5751371.html
Copyright © 2020-2023  润新知