为什么我的代码只能读出第一行,然后就一直循环?求大家帮忙!!

public class test7 {
   public static void main(String[] args){
       BufferedReader br = null;
       try {
           br = new BufferedReader(
                   new InputStreamReader(
                           new FileInputStream("这里是文件名")));
       } catch (FileNotFoundException e) {
           e.printStackTrace();
       }
       String line = null;
       try {
           line = br.readLine();
       } catch (IOException e) {
           e.printStackTrace();
       }
       String[] test;
       int lineNo = 1;
       while(line!=null){
           test = line.split(":");
           System.out.println("line"+lineNo+test[test.length - 1]);
           lineNo ++;
       }
       try {
           br.close();
       } catch (IOException e) {
           e.printStackTrace();
       }
   }
}



最后输出的是第一行最后一个:后面的内容,然后line不断增加,line数也对,就是后面内容一直是第一行的。

求大家帮个忙呗!谢谢了!

winter_yi
浏览 1211回答 2
2回答

winter_yi

自己明白怎么回事了,应该在循环里再添一行readline的

Code_M0keny

System.out.println("line"+lineNo+test[test.length - 1]);你注意看那这的代码: 其中的test[test.length - 1], test.lenth的值是固定的吧, 假设是20, 那么test[test.length - 1]就变成了test[19],所以每次输出的都是test[19]。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java