• 转换流与标准的输入输出流


    转换流的作用

    TestOtherStream

    package com.aff.file;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import org.junit.Test;
    
    //转换流InputStreamReader  OutputStreamWriter
    //    编码:字符串--->字节数组
    //    解码:字节数组--->字符串
    
    public class TestOtherStream {
    
        @Test
        public void test1() {
            BufferedReader br = null;
            BufferedWriter bw = null;
    
            try {
                // 解码
                File file1 = new File("jdbc.properties");
                FileInputStream fis = new FileInputStream(file1);
                InputStreamReader isr = new InputStreamReader(fis, "utf-8");
                br = new BufferedReader(isr);
    
                // 编码
                File file2 = new File("jdbc6.properties");
                FileOutputStream fos = new FileOutputStream(file2);
                OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");
                bw = new BufferedWriter(osw);
    
                String str;
                while ((str = br.readLine()) != null) {
                    bw.write(str);
                    bw.newLine();
                    bw.flush();
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (bw != null) {
                    try {
                        bw.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (br != null) {
                    try {
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    

    // 标准的输入输出流 // 练习:从键盘输入字符流,要求将读取到的整字符串转成大写输出, // 然后继续进行输入操作,直至当输入e或者exit时,退出程序 @Test public void test2() { BufferedReader br = null; /* * 标准的输入输出流: 标准的输入流: * System.in 标准的输出流:System.out */ try { InputStream is = System.in;// 字节流 InputStreamReader isr = new InputStreamReader(is);// 字节流转换为字符流 br = new BufferedReader(isr);// 在字符流外面包一层缓冲流 String str; while (true) { System.out.println("输入字符串"); str = br.readLine(); if (str.equalsIgnoreCase("e") || str.equalsIgnoreCase("exit")) { break; } String str1 = str.toUpperCase(); System.out.println(str1); } } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
    All that work will definitely pay off
  • 相关阅读:
    第27课二阶构造模式(上)---------出现的背景
    第26课 静态成员函数
    第25课类的静态成员变量
    第24课经典问题解析(下)--------类的成员函数和成员变量隶属某个具体对象吗
    第24课经典问题(中)-----关于const对象的疑问
    第24课经典的问题(上)---------对象的构造顺序与析构顺序
    第23课 神秘的临时对象
    断剑重铸007
    DG on Windows 10 S: 执行任意代码
    断剑重铸006
  • 原文地址:https://www.cnblogs.com/afangfang/p/12608860.html
Copyright © 2020-2023  润新知