使用Java操作文本文件的方法具体解释
摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类
最初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来读取文件的时候
while((ch = isr.read())!=-1)
{
System.out.print((char)ch);
}
这和FileReader并没有什么差别,其实在FileReader中的方法都是从InputStreamReader中继承过来的。read()方法是比較好费时间的,假设为了提高效率
我们能够使用BufferedReader对Reader进行包装,这样能够提高读取得速度,我们能够一行一行的读取文本,使用readLine()方法。
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
String data = null;
while((data = br.readLine())!=null)
{
System.out.println(data);
}
当你明确了怎样用Reader来读取文本文件的时候那么用Writer写文件相同很easy。有一点须要注意,当你写文件的时候,为了提高效率,写入的数据会先
放入缓冲区,然后写入文件。因此有时候你须要主动调用flush()方法。与上面相应的写文件的方法为:
不要忘记用完后关闭流!以下是个小样例,帮助新手理解。事实上有的时候java的IO系统是须要我们多记记的,不然哪天就生疏了。
java中多种方式读文件
一、多种方式读文件内容。
1、按字节读取文件内容
2、按字符读取文件内容
3、按行读取文件内容
4、随机读取文件内容