Java学习笔记8

2016-01-30  本文已影响59人  wangmin

Java输入输出

File类代表java.io包下操作文件或者目录的类。

File类的list方法中可以接受一个FilenameFilter参数,通过该参数可以只列出符合条件的文件。


JavaIO流
流的分类:
按照输入与输出分类: 输入流和输出流:

他们都是一些抽象基类,无法直接创建对象。
还可以分成字节流和字符流

字节流和字符流
InputStream && Reader 都代表输入流,只不过前者是字节输入流后者是字符输入流。两者提供的方法都很类似:
InputStream提供的方法:

Reader提供的方法:

由于InputStream && Reader都是字节流,是抽象基类,不能创建实例,但是其对对应的FileInputStream 和 FileReader都是操作文件的。

OutputStream && Writer 同上:

在使用输入输出流的时候不要忘记关闭流。

节点流在处理流的时候比较麻烦,一般都是使用包装流将节点流包装成处理流,这样就可以方便的使用。比如使用PrintStream来包装OutputStream。

FileOutputStream fos = new FileOutputStream("test.txt");
PrintStream ps = new PrintStream(fos);
ps.println("hello this is a test");

在最后关闭流的时候,首先应该关闭处理流,然后再关闭节点流。

因此进行输入输出的内容是文本内容,则应该考虑使用字符流,如果进行输入输出的内容是二进制内容,则应该考虑的是使用字节流。

同时java还提供了两个转换流,将字节流转换成字符流,InputStreamReader 将字节输入流转换成字符输入流,OutputStreamWriter将字节输出流转成字符输出流。

RandomAccessFile它支持随机访问,它可以跳转到程序的任意位置进行读写。因此可以在文件的末尾追加文件内容。

long getFilePointer() 返回文件记录指针的当前位置 void seek(long pos)将文件记录指针定位到pos位置。

上一篇 下一篇

猜你喜欢

热点阅读