//读取文件到时候,如果将BufferedReader定义成全局变量,则在for()循环的时候只能第一次读取,若定义在循环内,
即每次循环进行一次定义,才能每次循环都读取到问题内容,为什么呢?谢谢各位请指点指点~~
读取文件部分的代码如下
package hello;
import java.io.*;public class Frtest {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{ //FileReader pass = new FileReader("/pass.txt");
//BufferedReader pbr = new BufferedReader(pass); int i = 0;
String s1 = null; for(i=0;i<10;i++)
{

//读取文件到时候
//如果将BufferedReader定义成全局变量,则在for()循环的时候只能第一次读取,若定义在循环内,
//即每次循环进行一次定义,才能每次循环都读取到问题内容,为什么呢? FileReader pass = new FileReader("/home/hellfish/Codecs/shell/pass.txt");
BufferedReader pbr = new BufferedReader(pass);
while((s1 = pbr.readLine()) != null) 
{

System.out.println(s1); }
System.out.println(i);
pbr.close();
}
//pbr.close();

}catch(final Exception e){
} }}

解决方案 »

  1.   

    BufferedReader 的(), reset()
      

  2.   

    下面的代码 在你那不能读出文件的所有内容吗?
    import java.io.BufferedReader;
    import java.io.FileReader;public class Frtest {
    public static void main(String[] args) {
    try {  FileReader pass = new FileReader("pass.txt");
     BufferedReader pbr = new BufferedReader(pass); int i = 0;
    String s1 = null; for (i = 0; i < 10; i++) { // 读取文件到时候
    // 如果将BufferedReader定义成全局变量,则在for()循环的时候只能第一次读取,若定义在循环内,
    // 即每次循环进行一次定义,才能每次循环都读取到问题内容,为什么呢?// FileReader pass = new FileReader("/home/hellfish/Codecs/shell/pass.txt");
    // BufferedReader pbr = new BufferedReader(pass);
    while ((s1 = pbr.readLine()) != null) { System.out.println(s1); }
    System.out.println(i);
    pbr.close();
    }
    //  pbr.close(); } catch (final Exception e) {
    } }
    }