JAVA中IO总结

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指定的流中

下面举个例子,从键盘中读取数据并输出到屏幕中(利用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.

时间: 2024-11-04 22:08:27

JAVA中IO总结的相关文章

java中IO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象, 这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的. /** * 获取路径文件夹下的所有文件 * @param path * @return */ public static File[] ge

JAVA中IO技术:BIO、NIO、AIO

1.同步异步.阻塞非阻塞概念 同步和异步是针对应用程序和内核的交互而言的. 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值. 由上描述基本可以总结一句简短的话,同步和异步是目的,阻塞和非阻塞是实现方式. 1 同步 指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪 自己上街买衣服,自己亲自干这件事,别的事干不了.

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

总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类: 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据)   根据数据流向的不同分为输入流和输出流:   根据处理数据类型的不同分为字符流和字

java中IO及中文乱码问题

第一次发这种博客,所以一直在纠结怎么开头,干脆直奔主题吧,把自己的一些总结体会记录下来,先从简单的学习开始,希望可以慢慢坚持,以后的内容可以写的更好更有意义. 其实真正在工作中中文乱码的问题遇到的不多,那是因为公司为了开发方便所以文件都统一编码了.但是我觉得还有很有必要去稍微了解一下其原理的. IO就是输入输出流,用面向对象来理解的话,就是输入,输出流对象,主要用来操作文件对象.所以再稍微谈谈文件的概念,即File对象.在Java中,File不是我们平时生活中指的某个具体文件,而是某个路径对象,

JAVA中IO流总结

本文是在学习中的总结,欢迎转载但请注明出处:http://write.blog.csdn.net/postedit/42119261 我想你对JAVA的IO流有所了解,平时使用的也比较的多,但是对于其具体分类和继承体系可能知道的并不多,可能也很少去看相关的API文档,找出其中的关系和各自的应用情形.本文简单对常用的IO流进行分类整理,并简单举例说明其应用.希望本文对你有所帮助. (A)IO流大致分为两种: (1)字节流:对应抽象类为InputStream(输入流)和 OutputStream(输

java中IO常见的IO流和file类理论总结

总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中,所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类:而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据) 根据数据流向的不同分为输入流和输出流: 根据处理数据类型的不同分为字符流和字节流: ]

java中IO流,输入输出流的概述

1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类: 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据)   根据数据流向的不同分为输入流和输出流:   根据处理数据类型的不同分为字符流和字节流: ] [然后需要明白的是输入模式和输出

java中IO流小解

下面这张图列出了java中一些处理流: java中根据操作对象的不同可以分为:字节流和字符流. 首先我们先表示一下什么叫节点流和处理流: 节点流:可以从或向一个特定的地方(节点)读写数据.如FileReader  处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写.如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数. java字节流 InputStream和OutputStream是java字节流中输入输出流的祖先. FileInputStr

java中io流浅析

1.java.io包下File类:java程序中的此类的一个对象,就对应着硬盘中的一个文件或网络中的一个资源.File file1 = new File("d:\\io\\helloworld.txt");File file2 = new File("d:\\io\\io1");>1.File既可以表示一个文件(.doc .xls .mp3 .avi .jpg .dat),也可以表示一个文件目录!>2.File类的对象是与平台无关的.>3.File