关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

Java实现缓冲流 编码 & 解码

发布时间:2020-03-17 00:00:00

Java 转换流:InputStreamReader & OutputStreamWriter

package com.io.review;import java.io.BufferedReader;import java.io.BufferedWriter;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 BufferedStreamCopy {/* * 编码 1 【编码:字符串 -> 字节数组】     */@Testpublic void coding() {
        String str = "自定义编码 嘿 Siri !";
        BufferedWriter bw = null;try {// 将str 写入当前项目下./hello.txt 文件中FileOutputStream fos = new FileOutputStream("./hello.txt");
            OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");// 此处也可指定编码格式bw = new BufferedWriter(osw);

            bw.write(str);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {if (bw != null) {try {
                    bw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }/* * 解码 1 【解码:字节数组 -> 字符串】     */@Testpublic void decode() {
        BufferedReader br = null;try {
            InputStream in = System.in;
            InputStreamReader isr = new InputStreamReader(in);
            br = new BufferedReader(isr);

            String str = null;while ((str = br.readLine()) != null) {
                System.out.println("---" + str);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {if (br != null) {try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }/* * 解码 2
     * 
     * 从键盘输入字符串,要求将读取到的整行字符串转成大写输出。当输入“e”或者“exit”时,退出程序。     */@Testpublic void decode2() {
        BufferedReader br = null;try {
            InputStream in = System.in;
            InputStreamReader sir = new InputStreamReader(in);
            br = new BufferedReader(sir);

            String str = null;while ((str = br.readLine()) != null) {// 忽略大小写判断是否 e或 exitif (str.equalsIgnoreCase("e") || str.equalsIgnoreCase("exit")) {
                    System.out.println("程序结束!!");break;
                } else {// 输入的字符转换成大写String upperCase = str.toUpperCase();
                    System.out.println(upperCase);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {if (br != null) {try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }/* * 解码 3     */@Testpublic void decode3() {
        BufferedReader br = null;try {
            FileInputStream fis = new FileInputStream("./hello.txt");
            InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
            br = new BufferedReader(isr);

            String str = null;while ((str = br.readLine()) != null) {
                System.out.println(str);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {if (br != null) {try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

}

 


/template/Home/Zkeys/PC/Static