java的I/O流--个人总结(上)

时间:2023-04-25 21:36:41 工作总结 我要投稿
  • 相关推荐

java的I/O流--个人总结(上)

怎么又回过头来看I/O流操作呢?温故知新嘛,况且以后我的研究方向都会涉及带内存和多线程的操作,I/O与这些太有关联了!其实我写这个的个人总结的初衷并不是这样,是在学习Struts2的文件上传和下载操作时遇到了一些小问题。

一下是我的个人总结:

java的I/O流--个人总结(上)

java.io.包内的类真是太多了,简直是排山倒海!但是其中许多类都是装饰类,采用的装饰着模式。所以我们一定要熟悉各种类之间的层次结构!

java.io.File类:这是对文件本身进行操作的构造方法:public File(String pathname)

创建文件对象的方法:f对象.createNewFile()其返回值是一个boolean值

还有其他一些常用方法:f.delete(),f.mkdir().

其中全局常量pathSeparator的路径分隔符,显示了java的可移植性强大的特点

2.RandomAccessFile类对文件内容进行操作的随机读取类

构造方法:public RandomAcessFile(文件对象模式)会抛出异常

3.字节流

字节流有OutputStream和InPutStream,但是他们都是抽象类,必须通过子类开实例化对象,然后对byte数组进行操作。如实操作文件,可以使用其子类FileOutPutStream类,通过向上转型,可以为OutPutStream实例化。

方法有:OutPutStream的对象.write(byte|b单个字节)写入到输出流中去;InputStream的方法和OutPutStream是一样的对象.read(|byte)将对象InputStream流中的数据读进数组,或者返回一个int值是否读完。要强调的是最后都要close()关闭字节流!

4.字符流

1个字符是2字节是2Byte其单位是大于字节流的字符输出流Writer和字符输入流Reader,他们的操作基本和字节流类似的

但是区别是:字节流操作不会使用到缓冲区(内存),而字符流操作需要使用!

5.转换流

OutputStreamWrite(Writer的子类):xxxx--字符流--字节流

InputStreamReader(Reader的子类):文件--字节流--字符流

6.内存操作流

以上讲解的程序中的输出和输入都是从文件中来的,当然也可以将输入的位置设置在内存上

使用ByteArrayStreamInputStream,ByteArrayOutPutStream完成输入输出。和字节流字符流一样,操作对象都可以看成是Stream流。

构造方法ByteArrayInputStream(byte buf)只使用构造方法将内容读取到内存中去

构造方法ByteArrayOutPutStream()创建对象,将内容写入bos流中:bos.write(int b)

bos.write(bis.read()):以bis读出再写入bos中。然后str=bos.toString 7.管道流

PipedOutputStream和PipeIntputStream使用时,还要使用Connect()方法将两个流连接起来。

pos.connect(pis);

【java的I/O流--个人总结(上)】相关文章:

Module 5 Unit 1 I get up at seven o’clock.(教案)04-24

java实习总结01-01

Java实习总结05-27

java实训总结09-30

java实习心得总结05-19

java工作总结04-24

java试用期个人工作总结01-29

O的联想作文08-09

a o e 教案04-25

学科术语 O05-04