JAVA中IO流主要分为两大类:

  •   字节流:InputStream+OutputStream
  •   字符流:Reader+Writer

字节流:

  • InputStream是所有字节输入流的父类
  • OutputStream是所有字节输出流的父类
  • FileInputStream从文件中读取数据
  • FileOutpuStream将数据写入到文件中
  • ByteArrayInputStream从byte数组中读取数据
  • ByteArrayOutputStream将数据写入到内存中
  • PrintStream是一个包装类,它将数据输出到指定的流中
  • System.in是InputStream的子类的一个实例,指定从键盘中读取数据(可以重定向)
  • System.out/System.err是PrintStream的实例,指定将数据写入到屏幕中(可以重定向)

字符流:

  • Reader 所有字符输入流的父类
  • Writer 所有字符输出流的父类
  • FileReader从文件中读取字符串
  • FileWriter向文件中输出字符串
  • InputStreamReader 从InputStream中读取字符
  • OutputStreamWriter 将字符输出到OutputStream中
  • BufferedReader从指定的Reader中读取字符
  • BufferedWriter将字符写入到Writer指定的流中
  • Scanner可以从字节流中读取字符

下面举个例子,从键盘中读取数据并输出到屏幕中(利用BufferedReader实现)

import java.util.*;
import java.io.*; public class Hello
{ public static void main(String[] args)
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try
{
       System.out.print("please enter your message: ");
String line = br.readLine();
System.out.print(line);
}catch(IOException ioe)
{
ioe.printStackTrace();
}
}
}

运行结果:

please enter your message: hello guys, nice to meet you. My back hurts.
hello guys, nice to meet you. My back hurts.

JAVA中IO总结的更多相关文章

  1. Java中IO流的总结

    有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...

  2. java 中 IO 流分为几种?(未完成)

    java 中 IO 流分为几种?(未完成)

  3. Java中IO流,输入输出流概述与总结

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

  4. JAVA中IO技术:BIO、NIO、AIO

    1.同步异步.阻塞非阻塞概念        同步和异步是针对应用程序和内核的交互而言的. 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作 ...

  5. JAVA中IO和NIO的详解分析,内容来自网络和自己总结

    用一个例子来阐释: 一辆客车上有10个乘客,他们的目的地各不相同,当没有售票员的时候,司机就需要不断的询问每一站是否有乘客需要下车,需要则停下,不需要则继续开车,这种就是阻塞的方式. 当有售票员的时候 ...

  6. JAVA中IO流总结

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...

  7. Java中IO流中的装饰设计模式(BufferReader的原理)

    本文粗略的介绍下JavaIO的整体框架,重在解释BufferReader/BufferWriter的演变过程和原理(对应的设计模式) 一.JavaIO的简介 流按操作数据分为两种:字节流与字符流. 流 ...

  8. Java中IO软件包的详细介绍

    一.Java Io流 Java Io流的概念 java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作.在java中把不同的输入/输出源(键盘,文件,网络连接等)抽象表述为" ...

  9. java中IO流小解

    下面这张图列出了java中一些处理流: java中根据操作对象的不同可以分为:字节流和字符流. 首先我们先表示一下什么叫节点流和处理流: 节点流:可以从或向一个特定的地方(节点)读写数据.如FileR ...

随机推荐

  1. 使用JavaScript 实现注册表单的校验

    说明:在点击提交时进行表单校验,具体要求如下: 1)用户名为3~16个字符,且不能包含”@”和”#”字符: 2)密码和校验密码必须一致,且长度在8个字符到16个字符: 3)兴趣爱好至少选择一项: 4) ...

  2. Python 2.x与3.x共存

    (1)检查在Path环境变量中是否有以下4个变量(没有则添加): 1.c:\Python27 2.c:\Python27\Scripts 3.c:\Python35 4.c:\Python35\Scr ...

  3. [mysql] mysql 5.6.X 慢查询日志

    慢查询日志 一篇好文章,学习保存.... 打开慢查询日志 慢查询日志,顾名思义就是记录执行比较慢查询的日志. 查看是否开启慢查询日志: show variables like '%slow%'; 打开 ...

  4. LintCode "Maximum Gap"

    Bucketing! A lot of details to take care. struct Bucket { Bucket() :l(-), r(-), bValid(false){}; int ...

  5. asp.net mvc 页面传值的方法总结

    转自:http://msprogrammer.serviciipeweb.ro/2012/01/15/usual-methods-to-transfer-data-from-page-to-page- ...

  6. 【原】Centos 7 下创建LVM流程

    阅读目录 个主分区,1个扩展分区] 或 [4个主分区],扩展分区又可以有多个分区:    window常见的分配方式:        方式1:[1个主分区(C盘)+1个扩展分区(包括3个分区,D,E, ...

  7. PHP导出数据到CSV文件

    后台往往需要导出各种数据到 Excel文档中.通常我们是导出 .csv文件格式,PHP导出函数参考代码如下: /** * 导出数据到CSV文件 * * @param array $data 二维数组( ...

  8. 216. Combination Sum III

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  9. 151. Reverse Words in a String

    Given an input string, reverse the string word by word. For example,Given s = "the sky is blue& ...

  10. mongoVUE对mongodb常用的基础操作

    一.    连接mongodb服务端: 1.         双击mongoVUE,进入如下图所示界面: 2.         点击上图中的“+”,出现如下图,输入要连接的mongodb服务器的ip. ...