public void  getAllList()
{
             FileReader fr = null;
    int num = 0;
try {
fr = new FileReader(dir);
BufferedReader br = new BufferedReader(fr);    //缓冲指定文件的输入
    String myreadline;    //定义一个String类型的变量,用来每次读取一行
    while (br.ready()) {
            myreadline = br.readLine();//读取一行
            num++;
            if(num<=100)
            System.out.println(num+"----->"+myreadline);//在屏幕上输出
        }
    br.close();
    fr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//创建FileReader对象,用来读取字符流
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
       
}比如 文件内容是   cbfdg 
                  abcde
                  12345
则输出   
cbfdg 
       //空行
abcde
       //空行
12345
     
现在有个文件,就是我读一个问题,如果文件有1000行,则打印出2000行,有1000行空行?请问如何解决:

解决方案 »

  1.   

    后面加一句,system.out.println();不就行了?
      

  2.   

    import java.io.*;
    class ABCTEST{
    static String dir = "D:/t.txt";
      public static void main(String[] args){
    ABCTEST.getAllList();
    }
    public static void  getAllList() 

    FileReader fr = null; 
    int num = 0; 
    try { 
    fr = new FileReader(dir); 
    BufferedReader br = new BufferedReader(fr);    //缓冲指定文件的输入 
        String myreadline;    //定义一个String类型的变量,用来每次读取一行 
        while (br.ready()) { 
                myreadline = br.readLine();//读取一行 
                num++; 
                if(num <=100) 
                System.out.println(num+"----->"+myreadline);//在屏幕上输出 
            } 
        br.close(); 
        fr.close(); 
    } catch (FileNotFoundException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    }//创建FileReader对象,用来读取字符流 
    catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    }     

    }我没发现
      

  3.   

    if(num <=100) 
          System.out.print(num+"----->"+myreadline);//在屏幕上输出 
    else
       System.out.println(num+"----->"+myreadline);//在屏幕上输出 你是不是想这样?
      

  4.   

    我的程序从楼主那里拷过来的,开始也会在每行下面打印一个空行,后面改了下文本文件的保存格式,就没出现那现象了,不知道是不是那个原因。我再改文件的格式,死活不会重现那个现象。麻烦哪位高手解释下啊。谢谢。package Icss;import java.io.BufferedReader;
    import java.io.FileReader;public class TestFileReader {
    public void  getAllList() throws Exception {
    FileReader fr = null; 
    int num = 0; 
    fr = new FileReader("c:\\q.txt"); 
    BufferedReader br = new BufferedReader(fr);   
        String myreadline  = br.readLine();    
        while (myreadline != null) { 
        
         num++; 
         if(num <=100) 
         System.out.println(num+"----->"+myreadline); 
        
         myreadline = br.readLine(); 
        
        } 
        
        br.close(); 
        fr.close(); 
          
    }
    public static void main(String[] args) throws Exception{
    TestFileReader test = new TestFileReader();
    test.getAllList();
    }}
    q.txt中内容:
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
    控制台输出:
    1----->[boot loader]
    2----->timeout=30
    3----->default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    4----->[operating systems]
    5----->multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect