1).BufferedReader类的一些方法(Buffered类和File Reader类都包含在java.io包中)
public BufferedReader(Reader readerObject)
BufferedReader类也没有一文件名为自变量的构造方法,如果想要创建一个类,则使用下列表达式:
new BufferedReader(new File Reader(File_Name))或者 new BufferedReader(new
File Reader(File_Object))
这样调用方法可能会抛出FileNotFoundException异常和File类没有找到的ClassNotFoundException异常。
1.public String readLine()throws IOException
从输入流读取一行数据,并以字符串的形式返回数据。如果读取超过文件的末尾,则返回null。
- public int read()throws IOException
从输入流中读取一个字符,并以表示该字符的整数返回。如果读取超过文件末尾,则返回-1。
3.public long skip(long n) throws IOException
跳过n个字节
4.public void close() throws IOException
关闭流
例子:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.PrintWriter;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* @author 爱哭的周小姐
* 用BufferedReader类检查文本文件的结束
*
* 该类的readLine方法在读取到文本文件结束时会返回null
*
read方法在读取到文本文件结束时返回-1
*
*/
public class TextEOFDemo
{
public static void main(String[] args)
{
try
{
BufferedReader inputStream=new BufferedReader(new FileReader("asdf.txt"));
PrintWriter outputStream=new PrintWriter(new FileOutputStream("dfg.txt"));
int count=0;
String line=inputStream.readLine();
while(line!=null)
{
count++;
outputStream.println(count+" "+line);
line=inputStream.readLine();
}
inputStream.close();
outputStream.close();
}
catch(FileNotFoundException e)
{
System.exit(0);
}
catch(IOException a)
{
System.exit(0);
}
}
}
asdf.txt:
你好!
他好!
运行结果:
==============
dfg.txt:
1 你好!
2 他好!
2).使用BufferedReader类读取数字
与Scanner类不同,BufferedReader类没有从文本读取数字的方法。因此要想完成此操作先以字符串的形式读取数据,再逐个数据处理。
1.System.out 、System.in和System.err
System.out 、System.in和System.err 这三个流是Java代码自动可以使用的流。
System.out用于输出没有问题的代码,而System.err用于输出错误消息。
在重定向输出数据时,拥有两个不同标准的输出流是方便的。例如,可以将正常消息与错误消息分别定向到两个不用的文件中。Java允许我们将这三个标准输出流的任何数据重定向到文件或其他IO设备,通过System类的静态方法setIn、setOut、setErr方法完成。
import java.io.PrintStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
/**
* @author 爱哭的周小姐
* 错误消息重定向
*/
public class RedirectionDemo
{
public static void main(String[] args)
{
PrintStream errStream=null;
try
{
errStream=new PrintStream(new FileOutputStream("asd.txt"));
}
catch(FileNotFoundException e)
{
System.exit(0);
}
System.setErr(errStream);
System.err.println("你好!");
System.out.println("他好!");
errStream.close();
}
}
运行结果:
==============
asd.txt文件:
你好!
屏幕:
他好!