/        标准输入输出流:
                直接类名调用   一经创建无法改变
                public static final PrintStream err “标准”错误输出流。 

                public static final InputStream in “标准”输入流。  用来读取键盘输入的数据
                    调用:System.in
                        InputStream is =System.in;
                        Scanner sc=new Scanner(System.in);读取键盘录入

                public static final PrintStream out  “标准”输出流。
                    System.out.println()将数据输在再命令行
 */
package IO;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.Writer;

public class IO {
public static void main(String[] args) throws IOException{
    /*    例子:输出指定文件在命令行
    项目文件读取=====字符输入流
    命令行====基本的输出流
    由于标准输出流是一个字节的输出流,所以只能输出字节或者字节组,但是我们读取道得数据则是字符串,我们通过GetByte来获取字节数值
    我们想通过标准输出流输出字符串,
    把标准输出流转化成一种字符输出流,OutputStreamWriter
    OutputStreamWriter(OutputStream out)     创建使用默认字符编码的 OutputStreamWriter。
    把标准输入流转化成一种字符输入流,InputStreamReader
    InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。
    method();
    method01();
    method02();
     */
    /*例子:读取键盘录入的数据,并输出到a.txt文件当中
     创建字节输入流
     创建字符输入流
     */

    InputStream is=System.in;
    FileWriter fw=new FileWriter("a.txt");
    byte[] bys= new byte[2048];
    int len;
    while((len=is.read(bys))!=-1) {
        fw.write(new String(bys));
        fw.flush();
    }
    is.close();
    fw.close();

}

public static void method02() throws FileNotFoundException, IOException {
    BufferedReader br=new BufferedReader(new FileReader("Systemout.txt"));
    Writer w=new OutputStreamWriter(System.out);
    BufferedWriter bw=new BufferedWriter(w);
    String line;
    while((line = br.readLine())!=null) {
        bw.write(line);
        bw.newLine();
    }
    w.close();
    br.close();
}
public static void method01() throws FileNotFoundException, IOException {
    //    创建输入流对象
        BufferedReader br=new BufferedReader(new FileReader("Systemout.txt"));
        Writer w=new OutputStreamWriter(System.out);
        String line;
        while((line = br.readLine())!=null) {
            w.write(line);
            w.write("\r\n");
        }
        w.close();
        br.close();
}

public static void method() throws FileNotFoundException, IOException {
    //        创建输入流对象
            BufferedReader br=new BufferedReader(new FileReader("Systemout.txt"));
    //        创建输出基本流
            OutputStream os=System.out;
            String line;
            while((line=br.readLine())!=null) {
                os.write(line.getBytes());
        }
            os.close();
            br.close();
}
}

总结:IO中的File是文件操作  字符缓冲类BufferWriter  BufferReader   基本输入输出流 System.in  System.out  转化流OutputStreamWriter  InputStreamReader

基本输入输出流只能带入数组参数  这时候需要把字节的输入输出流转化为字符类的输入输出流  这时候就有可转化流  将基本的输入输出流转换为字符高效缓冲流BufferWriter  BufferReader

最新文章

  1. jQuery .on() 绑定事件无效
  2. 读书笔记_Effective_C++_条款二十五: 考虑写出一个不抛出异常的swap函数
  3. asp.net笔试题
  4. vsftp使用方法与问题解决
  5. 03、NetCore2.0下Web应用之搭建最小框架
  6. .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)
  7. python中decode和encode的区别
  8. js获取变量的值
  9. VC++ 操作Windows快捷方式
  10. linux每天一小步---touch命令详解
  11. 测试嵌入GeoGebra网页
  12. python--函数名的使用,闭包,迭代器
  13. php 将网页执行的输出写入到本地文件中
  14. iOS:沙盒、偏好设置、归档、解归档
  15. 继续深入更新shell脚本容易出错的地方
  16. vue有关绑定的知识点
  17. python学习(八) 异常
  18. N-grams模型、停顿词(stopwords)和标准化处理 - NLP学习(2)
  19. 安装mysql提示This application requires .NET framework 4.0.
  20. 【BZOJ1562】【jzyzOJ1730】【COGS409】NOI2009变换序列 二分图匹配

热门文章

  1. Mirror--镜像使用的工作线程数
  2. python 面向对象 类 __doc__
  3. JavaScript中的作用域以及this变量
  4. log4j2高级配置(1)
  5. Deep Learning(3)算法简介
  6. 数据挖掘-关联分析 Apriori算法和FP-growth 算法
  7. JavaScript修改CSS属性的实例代码
  8. 两个栈实现队列&两个栈实现队列
  9. web前端几个小知识点笔记
  10. http之url和uri