/        标准输入输出流:
                直接类名调用   一经创建无法改变
                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. PHP函数处理方法总结

    call_user_func_array (PHP 4 >= 4.0.4, PHP 5, PHP 7) call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的 ...

  2. ajax请求,html调用js

    1:html中调用js中的函数,js使用ajax请求向后台请求,返回数据. <!DOCTYPE html> <html lang="en"> <hea ...

  3. 【译】Using Objects to Organize Your Code

    耗了一个晚上吐血翻译不过也学到了不少...<使用对象来组织你的代码>,翻译中发现原作者在原文中有部分代码有误或不全,本文已修改和添加~ 丽贝卡·墨菲原文链接:http://rmurphey ...

  4. tornado 入门

    Overview FriendFeed是一款使用 Python 编写的,相对简单的 非阻塞式 Web 服务器.其应用程序使用的 Web 框架看起来有些像 web.py 或者 Google 的 weba ...

  5. SQL Server与Oracle对表添加列的不同点

    逛了博客园两年有余,不知道该发表些什么.要么觉得自己太菜,要么觉得要发的内容都可以搜索到,发表了还颇有抄袭味道.想想后都不得了之了. 搞了开发快一年了,有时候零零碎碎的东西需要整理一下,梳理后才能做到 ...

  6. 在Mybatis中使用连表查询的一次实际应用

    以前在工作中很少使用多表关联查询,对连表查询的具体作用和使用场景也没有很直观的认识,通过这次在项目中的实际应用,对此有了一定的认识,特记录如下. 关联表介绍: 分别是属性表attr_info.属性值表 ...

  7. sql2008 express 实现自动备份

    在一个项目中用到的数据库是sqlserver 2008 r2 express .可没想到express版本的功能有些限制,此前一直都不知道啊.百度百科可以看到它的限制: “1.数据库的大小限制:SQL ...

  8. Python3.x:os.path模块

    Python3.x:os.path模块 #返回绝对路径 os.path.abspath(path) #返回文件名 os.path.basename(path) #返回list(多个路径)中,所有pat ...

  9. Activiti工作流引擎简介

    Activiti工作流引擎简介 一.概述 Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活 ...

  10. 20135320赵瀚青LINUX第七周学习笔记

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 概述 本周学习的内容主要是讨 ...