zoukankan      html  css  js  c++  java
  • I/O字符流

        /*
        * 编码格式
        * utf-8:国际标准通用
        * GBK:包含中文
        * ASICLL:美国标准 美国文字全部由26个字母组成,然后数字 128个
        * */
        public void utf8Test() throws UnsupportedEncodingException {
    
            String s="中国";
            byte[] defult=s.getBytes();
            System.out.println(Arrays.toString(defult));
            System.out.println(new String(defult,"UTF-8"));
    
            byte[] utf8=s.getBytes("UTF-8");
            System.out.println(Arrays.toString(utf8));
    
            byte[] gbk=s.getBytes("GBK");
            System.out.println(Arrays.toString(gbk));
            System.out.println(new String(gbk,"UTF-8"));
    
        }
    
        public void streamTest() throws IOException {
            String path="E:\Java\00_0\2.txt";
            OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream(path,true),"UTF-8");
            osw.write("测试字符流");
    
            //字符流必须先flush():将写入缓存中的字符写入到文本。close的时候会自动调用
            osw.flush();
    
            InputStreamReader isr=new InputStreamReader(new FileInputStream(path),"UTF-8");
            char[] arr=new char[1024];
            int len;
            while ((len=isr.read(arr))!=-1){
                System.out.printf(new String(arr,0,len));
            }
    
            osw.close();
            isr.close();
        }
    
    
        /*
        * 简化版本
        * */
        public void fileTest() throws IOException {
            String path="E:\Java\00_0\3.txt";
            FileWriter fw=new FileWriter(path, Charset.forName("UTF-8"),true);
            fw.write("测试FileWriter");
            fw.flush();
    
            FileReader fr=new FileReader(path,Charset.forName("UTF-8"));
            char[] arr=new char[1024];
            int len;
            while ((len=fr.read(arr))!=-1){
                System.out.println(new String(arr));
            }
    
            fw.close();
            fr.close();
        }
    
    
        /*
        * 一次一个字节读取
        * */
        public void fileTest1() throws IOException {
            String path="E:\Java\00_0\3.txt";
            FileWriter fw=new FileWriter(path, Charset.forName("UTF-8"),true);
            fw.write("测试FileWriter");
            fw.flush();
    
            FileReader fr=new FileReader(path,Charset.forName("UTF-8"));
    
            int c;
            while ((c=fr.read())!=-1){
                System.out.print((char)c);
            }
    
            fw.close();
            fr.close();
        }
    
    
        public void buffedTest() throws IOException {
            String path="E:\Java\00_0\4.txt";
            BufferedWriter bw=new BufferedWriter(new FileWriter(path));
            bw.write("测试BufferedWriter");
    
            bw.flush();
    
            BufferedReader br=new BufferedReader(new FileReader(path));
            char[] arr=new char[1024];
            int len;
    
            while ((len=br.read(arr))!=-1){
                System.out.println(new String(arr));
            }
    
            bw.close();
            br.close();
        }
    
        /*
        * 一次读取一行,字符缓存流的特有功能
        * */
        public void buffedTest1() throws IOException {
            String path="E:\Java\00_0\4.txt";
            BufferedWriter bw=new BufferedWriter(new FileWriter(path,true));
            bw.write("测试BufferedWriter");
    
            bw.newLine();
    
            bw.write("测试BufferedWriter");
    
            bw.flush();
    
            BufferedReader br=new BufferedReader(new FileReader(path));
            char[] arr=new char[1024];
    
            String line  ;
            while ((line=br.readLine())!=null){
    
                System.out.println(line);
            }
    
            bw.close();
            br.close();
        }
    
        public void buffedTest2() throws IOException {
            String path="E:\Java\00_0\4.txt";
            BufferedWriter bw=new BufferedWriter(new FileWriter(path,true));
            bw.newLine();
            bw.write("测试BufferedWriter");
    
            bw.flush();
    
            BufferedReader br=new BufferedReader(new FileReader(path));
    
            int c;
    
            while ((c=br.read())!=-1){
                System.out.print((char)c);
            }
    
            bw.close();
            br.close();
        }
  • 相关阅读:
    sql-lib闯关秘籍之1-10关
    简单的SQL注入
    五分钟带你读懂 TCP全连接队列(图文并茂)
    Ambari HDP集群搭建全攻略
    Spring Cloud Security OAuth2.0 认证授权系列(入门篇)
    敲黑板:InnoDB的Double Write,你必须知道
    重要,知识点:InnoDB的插入缓冲
    你不知道的内存知识
    每日一个知识点:关于磁盘的一些事儿
    Spring Boot 系列:日志动态配置详解
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/13820766.html
Copyright © 2011-2022 走看看