zoukankan      html  css  js  c++  java
  • 毕向东_Java基础视频教程第19天_IO流(18~19)

    第19天-18-IO流(流操作规律 - 1)

     通过三个步骤来明确"流操作"的规律:

    1. 明确数据流的"源和目的"

      1. 源, 输入流: InputStream/Reader

      2. 目的, 输出流: OutputStream/Writer

    2. 明确操作的数据是否是纯文本

      1. 是, 字符流

      2. 不是, 字节流

    3. 通过设备来区分要使用哪个具体的类

      1. 源设备: 内存/硬盘/键盘

      2. 目的设备: 内存/硬盘/控制台

    4. 附录

      1. 是否需要进行缓冲:

        BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

      2. 是否需要进行 "字符 - 字节" 以及charset的转换:

        例如OutputStreamWriter(OutputStream out, String charsetName)

    第19天-19-IO流(流操作规律 - 2)

    package bxd;
    
    import java.io.*;
    
    public class TransStreamDemo2 {
    
        public static void main(String[] args) throws IOException {
            method_5();
    
        }
    
        // 将一个文本文件中的数据存储到另外一个文件中
        public static void method_1() throws IOException {
            BufferedReader bufr = new BufferedReader(new FileReader("s.txt"));
            BufferedWriter bufw = new BufferedWriter(new FileWriter("d.txt"));
    
            String line;
            while ((line = bufr.readLine()) != null) {
                bufw.write(line);
                bufw.newLine();
                bufw.flush();
            }
            bufr.close();
            bufw.close();
        }
    
        // 将键盘录入的数据保存到一个文件中
        public static void method_2() throws IOException {
            BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bufw = new BufferedWriter(new FileWriter("d.txt"));
    
            String line;
            while ((line = bufr.readLine()) != null) {
                if ("over".equals(line)) break;
                bufw.write(line);
                bufw.newLine();
                bufw.flush();
            }
            bufr.close();
            bufw.close();
        }
    
        // 将键盘录入的数据保存到一个文件中, 并可以自定义目标文件的字符编码.
        public static void method_3() throws IOException {
            BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d.txt"), "utf-8"));
    
            String line;
            while ((line = bufr.readLine()) != null) {
                if ("exit".equals(line)) break;
                bufw.write(line);
                bufw.newLine();
                bufw.flush();
            }
            bufr.close();
            bufw.close();
        }
    
        // 练习1: 将一个图片文件中的数据存储到另外一个文件中
        public static void method_4() throws IOException {
            BufferedInputStream bufis = new BufferedInputStream(new FileInputStream("1.png"));
            BufferedOutputStream bufos = new BufferedOutputStream(new FileOutputStream("2.png"));
    
            int by;
            while ((by = bufis.read()) != -1) {
                bufos.write(by);
            }
            bufis.close();
            bufos.close();
        }
    
        // 练习2: 将一个文本文件的数据输出到控制台
        public static void method_5() throws IOException {
            BufferedReader bufr = new BufferedReader(new FileReader("s.txt"));
            BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
    
            String line;
            while ((line = bufr.readLine()) != null) {
                bufw.write(line);
                bufw.newLine();
                bufw.flush();
            }
            bufr.close();
            bufw.close();
        }
    }
  • 相关阅读:
    P1219 N皇后(位运算&普通dfs)
    P1434 滑雪(记忆化搜索)
    P1118 数字三角形(技巧)
    P1162 填涂颜色
    P1141 01迷宫
    P2685抓牛(bfs)
    WordPress ‘crypt_private()’方法远程拒绝服务漏洞
    java获取网页源码
    tomcat报错: Error parsing HTTP request header
    空指针异常的原因
  • 原文地址:https://www.cnblogs.com/echo1937/p/6354323.html
Copyright © 2011-2022 走看看