Java操作文本文件办法详解[Java编程]
本文“Java操作文本文件办法详解[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
最初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读取文件的时刻.
FileReader fr = new FileReader("ming.txt");
int ch = 0;
while((ch = fr.read())!=-1 )
{
System.out.print((char)ch);
}
此中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写文件一样非常简单.有一点需求注意,当你写文件的时刻,为了提高效率,写入的数据会先放入缓冲区,然后写入文件.因此有时刻你需求主动调用flush()办法.与上面对应的写文件的办法为:
FileWriter fw = new FileWriter("hello.txt");
String s = "hello world";
fw.write(s,0,s.length());
fw.flush();
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("hello2.txt"));
osw.write(s,0,s.length());
osw.flush();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("hello3.txt")),true);
pw.println(s);
不要忘掉用完后关闭流!下面是个小例子,帮忙新手理解.其实有的时刻java的IO系统是需求我们多记记的,不然哪天就陌生了.
hello world i like java language
import java.io.*;
public class TestFile2
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("ming.txt");
char[] buffer = new char[1024];
int ch = 0;
while((ch = fr.read())!=-1 )
{
System.out.print((char)ch);
}
InputStreamReader isr = new InputStreamReader(new FileInputStream("ming.txt"));
while((ch = isr.read())!=-1)
{
System.out.print((char)ch);
}
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
String data = null;
while((data = br.readLine())!=null)
{
System.out.println(data);
}
FileWriter fw = new FileWriter("hello.txt");
String s = "hello world";
fw.write(s,0,s.length());
fw.flush();
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("hello2.txt"));
osw.write(s,0,s.length());
osw.flush();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("hello3.txt")),true);
pw.println(s);
fr.close();
isr.close();
br.close();
fw.close();
osw.close();
pw.close();
}
}
以上是“Java操作文本文件办法详解[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |