JavaIO系统

为了方便记忆,特将IO中涉及的类进行整理如下:

1、File类

  提供了目录操作,查看文件属性等。

2、java IO类层次

面向字节流的类为InputStream、OutputStream;面向字符流的类为Reader、Writer

可以使用 InputStreamReader 将 InputStream-->Reader

可以使用OutputStreamWriter 将 OutputStream-->Writer

InputStream    --->Reader

|---ByteArrayInputStream  --->CharArrayReader

|---StringBufferInputStream(discard)  --->StringReader

|---FileInputStream  --->FileReader

|---PipedInputStream  --->PipedReader

|---FilterInputStream

     |---DataInputStream  

     |---BufferedInputStream  --->BufferedReader(has readLine function)

 

OutputStream  --->Writer

|---ByteArrayOutputStream  --->CharArrayWriter

|---FileOutputStream  --->FileWriter

|---PipedOutputStream  --->PipedWriter

|---FilterOutputStream

     |---DataOutputStream

     |---PrintStream  --->PrintWriter

     |---BufferedOutputStream  --->BufferedWriter

 

2、一些常用的组合

  BufferedReader s = new BufferedReader(new FileReader(fileName));   //字符缓冲方式读取

  DataInputStream di = new DataInputStream(new BufferedInputStream(new FileInputStream(filename)));   //从文件缓冲读取数据类型

  DataOutputStream outputStream = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(filename)));   //将数据类型写入到文件之中,然后可以通过DataInputStream来读取

  PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename)));   //将文件通过PrintWriter方式格式化写入

    out.println 函数就可以格式化写文件内容了。

3、RandomAccessFile类

  支持搜寻方法的文件读写类,提供给了seek函数

4、标准IO

System.err, System.out 都已经被包装成了 PrintStream 因此可以直接使用。

System.in 还是属于 InputStream 类型,因此在使用前需要包装下。

  1)按行读取:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  ///使用了InputStreamReader将System.in表示的InputStream类型转换成Reader类型。

  2)将System.out转换成PrintWriter:PrintWriter pw = new PrintWriter(System.out,true);

5、重定向IO

  setIn(InputStream)

  setOut(PrintStream)

  setErr(PrintStream) 

转载于:https://www.cnblogs.com/chang290/p/3548858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值