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