java BufferedReader使用方法?
String line;
While((line=buf.getLine())!=null)
{
do somthing;
}
buf.close();//这里使用是否正确
buf.open(newFileReader(new File("file2")));//这里该怎么写?
本人C++用多了,初次使用Java,问题显得很弱智,大家不要介意啊 展开
public class BufferdReader extends Reader
从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,BufferedReader in = new BufferedReader(new FileReader("foo.in"));将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。
//Java中的BufferedReader没有open方法吧!
//给你写一个,我没加注解,你学过C++ ,应该可以看懂吧!
package com.wdy.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestArray {
public static void main(String[] args) throws IOException {
File file=new File("D:/test.txt");
BufferedReader br=null;
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
br=new BufferedReader(
new InputStreamReader(
new FileInputStream(file),"GBK"));
while(br.readLine()!=null){
System.out.println(br.readLine());
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e1){
e1.printStackTrace();
}finally{
br.close();
}
}
}