java io 系统_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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值