IO流学习事件

本文主要探讨了Java中的字节流,包括bytearray、filter流和inputstream,并详细阐述了标准输入输出流,如system.in、system.out和system.err。通过示例代码展示了如何进行标准输入输出流的重定向操作。
摘要由CSDN通过智能技术生成

1. 字节流

字节流包含: bytearray filter(过滤器流) object inputstream

package com.io.reader;

import java.io.*;

public class FileReader {
    public static String read(String path) throws Exception {
        // bufferReader -> 管道字符流(字符输入流(文件子节输入流))
        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path),"gbk"));
        String s = null;
        StringBuffer sb = new StringBuffer();
        while ( (s = reader.readLine()) != null) {
            sb.append(s + "\n");
        }
        reader.close();
        return sb.toString();
    }
    public static void main(String[] args) throws Exception {
        System.out.println(read("D:/BaiduNetdiskDownload/(关注).txt"));
    }
}

2. 标准输入输出流

标准输入输出流包括 system.in system.out 以及 system.err
如下代码 : 是进行标准输入输出流的重定向操作案例

package com.io.biaozhunliu;
import java.io.*;
public class SystemOutRedireact {
    public static void main(String[] args) throws Exception {
        // 记录原始输入输出流
        PrintStream console = System.out;
        InputStream in = System.in;
        BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream("D:/BaiduNetdiskDownload/(关注).txt"));
        PrintStream out = new PrintStream(new BufferedOutputStream(new FileOutputStream("D:/haha.txt")));
        // 标准输入输出流重定向(将源头重定向)
        System.setIn(inputStream);
        System.setOut(out);
        System.setErr(out);
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in,"gbk"));
        String s = null;
        while ((s = bufferedReader.readLine()) != null) {
            System.out.println(s);
        }
        out.close();
        // 还原原始输入输出流
        System.setIn(in);
        System.setOut(console);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值