2005-02-05 14:28
作者:
mingjava
出处:
j2me
开发网
责任编辑:
方舟
最初
java
是不支持对文本文件的处理的,为了弥补这个缺憾而引入了
Reader
和
Writer
两个类,这两个类都是抽象类,
Writer
中
write(char[] ch,int off,int length)
,
flush()
和
close()
方法为抽象方法,
Reader
中
read(char[] ch,int off,int length)
和
close()
方法是抽象方法。子类应该分别实现他们。
当我们读写文本文件的时候,采用 Reader 是非常方便的,比如 FileReader , InputStreamReader 和 BufferedReader 。其中最重要的类是 InputStreamReader ,它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如 GBK 等。当使用 FileReader 读取文件的时候。
其中 read() 方法返回的是读取得下个字符。当然你也可以使用 read(char[] ch,int off,int length) 这和处理二进制文件的时候类似,不多说了。如果使用 InputStreamReader 来读取文件的时候
这和 FileReader 并没有什么区别,事实上在 FileReader 中的方法都是从 InputStreamReader 中继承过来的。 read() 方法是比较好费时间的,如果为了提高效率我们可以使用 BufferedReader 对 Reader 进行包装,这样可以提高读取得速度,我们可以一行一行的读取文本,使用 readLine() 方法。
当你明白了如何用 Reader 来读取文本文件的时候那么用 Writer 写文件同样非常简单。有一点需要注意,当你写文件的时候,为了提高效率,写入的数据会先放入缓冲区,然后写入文件。因此有时候你需要主动调用 flush() 方法。与上面对应的写文件的方法为:
不要忘记用完后关闭流!下面是个小例子,帮助新手理解。其实有的时候 java 的 IO 系统是需要我们多记记的,不然哪天就生疏了。 hello world i like java language
<script> var ad_cid; if (window.location.search.substring(1) != "") { ad_cid = window.location.search.substring(1); } else { ad_cid = 412; } </script> |
java操作文本文件
最新推荐文章于 2024-06-26 16:09:23 发布