/        标准输入输出流:
                直接类名调用   一经创建无法改变
                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

java-IO-基本输出输入流的更多相关文章

  1. java Io流输出指定文件的内容

    package com.hp.io; import java.io.*; public class  BufferedReaderTest{ /** *@param   想想 */ public st ...

  2. 关于System.getProperty("java.io.tmpdir");的输出,及System.getProperty();参数

    1,首先来介绍下System.getProperty("java.io.tmpdir")输出因为这个输出有点特殊. 理论介绍:他是获取系统临时目录.可以是window的temp,l ...

  3. 【Java基础】Java IO流的总结

    Java IO流分为输入流和输出流,而输入流和输出流中又分字符流和字节流.顾名思义,输入流则是输入到程序中计算,输出流是把程序的结果输出到文件或者设备.而字符流输入输出以字符为单位,字节流则是以字节为 ...

  4. java io系列14之 DataInputStream(数据输入流)的认知、源码和示例

    本章介绍DataInputStream.我们先对DataInputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解. 转载请注明出处:http://www.cnblogs. ...

  5. 1.java.io包中定义了多个流类型来实现输入和输出功能,

    1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(C),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(G)   A.输入流和输出流 B ...

  6. java中的IO流(输入流与输出流)概述与总结

    Java中IO流,输入输出流概述与总结 总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...

  7. java:OutputStream和InputStream 输出输入流,FileOutputStream,FileInputStream写入读取流

    1.在java中stream代表一种数据流(源),javaio的底层数据元,---(想像成水龙头)2.任何有能力产生数据流(源)的javaio对象就可以看作是一个InputStream对象既然它能产生 ...

  8. 系统学习 Java IO (一)----输入流和输出流 InputStream/OutputStream

    目录:系统学习 Java IO ---- 目录,概览 InputStream 是Java IO API中所有输入流的父类. 表示有序的字节流,换句话说,可以将 InputStream 中的数据作为有序 ...

  9. Java的IO流以及输入流与输出流的异同

    一:流的基本概念:           Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.J ...

  10. java io流 创建文件、写入数据、设置输出位置

    java io流 创建文件 写入数据 改变system.out.print的输出位置 //创建文件 //写入数据 //改变system.out.print的输出位置 import java.io.*; ...

随机推荐

  1. Python微信机器人

    Python微信机器人 本文目录 一 简介 二 登录微信 三 微信好友男女比例 四 微信好友地域分布 五 微信聊天机器人 一 简介 wxpy基于itchat,使用了 Web 微信的通讯协议,,通过大量 ...

  2. Mybatis分页查询与动态SQL

    一.Mybatis的分页查询 由于第一二节较为详细讲述了Mybatis的环境搭建,文件配置,SQL编写和Java代码实现,所以接下来的讲述都将只抽取关键代码和mapper文件中的关键sql,详细的流程 ...

  3. Docker 随笔

    设置镜像时区 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc ...

  4. 更好的利用配置文件和importlib

    需求:做不同的操作时只需修改配置文件即可完成 # message/email.py from .base import Base # 子类必须实现send方法,否则抛出异常 class Email(B ...

  5. spring基础-01

    IOC : inversion of 缩写, DI:dependency injection 即在调用者中注入被调用者的实例. AOP 面向切面编程,是代理模式的体现.spring默认使用JDK的动态 ...

  6. Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3) Solution

    A. Kitchen Utensils Water. #include <bits/stdc++.h> using namespace std; #define N 110 int n, ...

  7. ASP.NET之报表--RDLC(一)---附源码

    听同事介绍到RDLC,之前有了解过报表,但是确实没什么放在心上.最近有空,就研究下了. 一.RDLC实现 1.步骤 (1)首先新建一个项目RDLCDemo (2)新建一个DataSet数据集,并且绑定 ...

  8. SQL: coalesce()函数

    ①用途: 将空值替换成其他值 返回第一个非空值 ②表达式: COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达 ...

  9. SQL substring()函数

    ①substring()函数是个截取函数,不同的数据库语法有区别 MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTR ...

  10. PHP多进程学习(一)__来初步了解一下PHP多进程及简单demo

    php是一门单进程弱类型的语言,PHP处理多并发主要是依赖服务器或PHP-FPM的多进程及它们进程的复用,多进程的作用优点大家可以去网上了解,PHP实现多进程在实际项目中意义也是不容小觑的.比如:日常 ...