zoukankan      html  css  js  c++  java
  • java中IO流的操作

    读取转换流--读取键盘录入中键盘录入一行数据并打印其大写,发现就是读一行数据的原理。
    也就是readLine方法。
    能不能直接使用readLine方法来完成键盘录入一行数据的读取呢?
    readLine方法是字符流BufferedReader类中的方法。
    而键盘录入的read方法是字节流InputStream的方法。
    那么能不能将字节流转换成字符流再去使用字符流缓冲区的readLine方法呢。

    public class TransStreamDemo {
    
        public static void main(String[] args) {
    //        获取键盘录入对象
            InputStream is = System.in;
    //        将字节流对象转化为字符流对象,使用转换流InputStreamReader
            InputStreamReader isr = new InputStreamReader(is);
    //        为了提高效率,将字符串送入缓冲区,使用BufferedReader
            BufferedReader br = new BufferedReader(isr);
            
            String line = null;
            try {
                while ((line =br.readLine()) !=null) {
                    if("over".equals(line))
                        break;
                    System.out.println(line.toUpperCase());
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    View Code

    写入转换流--把字符流转换成字节流

    public class TransStreamDemo2 {
    
        public static void main(String[] args) {
    //        InputStream is=System.in;
    //        InputStreamReader isr=new InputStreamReader(is);
    //        BufferedReader br=new BufferedReader(isr);
    //        可简化为
    //        这是最常用的读取键盘录入
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    //        OutputStream os =System.out;
    //        OutputStreamWriter osw = new OutputStreamWriter(os);
    //        BufferedWriter bw = new BufferedWriter(osw);
    //        可简化为
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            
            String line = null;
            try {
                while ((line = br.readLine()) != null) {
                    if("over".equals(line))
                        break;
    //                打印大写
                    bw.write(line.toUpperCase());
                    bw.newLine();
                    bw.flush();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    View Code

    流操作规律--吧键盘录入的数据存储到一个文件中

    public class TransStreamDemo3 {
    
        public static void main(String[] args) throws IOException {
            
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E:/out.txt"),"utf-8"));
            
            String line = null;
            while ((line = br.readLine()) != null) {
                if("over".equals(line))
                    break;
                bw.write(line);
                System.out.println("写入成功");
                bw.newLine();
                bw.flush();
            }
        }
    }
    View Code

    将一个文件的数据打印在控制台上。

    public class TransStreamDemo4 {
    
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("E:/out.txt"),"utf-8"));
            
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            String line = null;
            while((line = br.readLine()) != null){
                bw.write(line);
                bw.newLine();
                bw.flush();
            }
        }
    }
    View Code
  • 相关阅读:
    基本数据类型(int, bool, str)
    循环 运算符 格式化输出 编码
    认识python 变量 数据类型 条件if语句
    简述bug的生命周期?
    性能测试的流程?
    主键、外键的作用,索引的优点与不足?
    需求测试的注意事项有哪些?
    对某软件进行测试,发现在WIN98上运行得很慢,怎么判别是该软件存在问题还是其软硬件运行环境存在问题?
    什么是兼容性测试?请举例说明如何利用兼容性测试列表进行测试。
    如何定位测试用例的作用?
  • 原文地址:https://www.cnblogs.com/xujianbo/p/5127200.html
Copyright © 2011-2022 走看看