2013-02-11 163 views
0

我希望我的应用程序将其信息从一个文本文件更新到另一个文件。它在我的代码的另一个地方工作,但在这里,即使它看起来完全一样,但它不起作用。读入一个文件并写入另一个文件失败

该程序经历了一个while循环,直到该文件没有nextLine。文件中的前5行是玩家分数,第5行是玩家的名字。我目前的工作是通过前五项完美工作,但是当涉及到它的名字时,它会混淆:名称为1,未命名为2,然后读取其余3个。此时,它跳出for loop并重新启动while因为(我认为)程序知道它错过了一条线。然后它读入名称2并覆盖分数1,最后再次尝试读取它在哪一点崩溃。

 while(!readDone) 
     { 
      System.out.println("!Done"); 
      while (readFile.hasNextLine()) 
      { 
       System.out.println("second While Loop"); 
       for(int j = 0;j<10;j++) 
       { 
        if(j<5) 
        { 
         System.out.println("For Loop!" + j + "scores"); 
         score[j] = readFile.nextLine(); 
         System.out.println(score[j]); 
        } 
        if(j==5 || j>5) 
        { 
         System.out.println("For Loop!" + j + "names"); 
         usernames[j-5] = readFile.nextLine(); 
         System.out.println(usernames[j-5]); 
        } 
       } 
       System.out.println("Exit For Loop"); 
       readDone = true; 
      } 
      System.out.println("Exit second while"); 
     } 
     System.out.println("DONE"); 

任何想法为什么这可能会发生在上面的代码?我打印到LogCat控制台,所以我知道它缺少名称2.

+0

这是怎么与Android相关的? – Karakuri 2013-02-11 15:38:37

+0

因为我使用的是android – Defterniko 2013-02-11 15:39:07

+0

你是什么意思'它打破了如果'? – 2013-02-11 15:45:23

回答

0

感谢亨利我发现了问题。它按预期显示了这些项目。但是,当我逐字逐句地看到这个名字后有一个空格。这就是为什么它错过了六,并打印出一个空白行。

相关问题