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
  • 相关阅读:
    eNSP——配置Trunk接口
    eNSP——VLAN基础配置和Access
    C# WinForm多线程(三)---- Control.Invoke[转]
    C# 在字符串前加了$,这个 dollar 符号有什么用?美元符号是什么意思
    软件工程领域工程硕士培养方案
    C#中SHOWDIALOG()与SHOW()的区别_模态与非模态_销毁与释放
    HTTP状态代码code(错误代码集合)返回错误代码集合
    OpenCV26HoughCircles 霍夫圆变换原理及圆检测
    OpenCV25-判断一个点是否在多边形的内部_点多边形测试pointPolygonTest
    OpenCV24霍夫直线变换API介绍_3.1.0
  • 原文地址:https://www.cnblogs.com/xujianbo/p/5127200.html
Copyright © 2011-2022 走看看