2012-12-10 21 views
-1

这是一个游戏项目。在引入该项目并在虚拟机上运行后,它已经是黑色框架。没有游戏画面。引入Android项目时的FileIO异常

package com.badlogic.androidgames.jumper; 

import java.io.BufferedReader; 
import java.io.BufferedWriter; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.io.OutputStreamWriter; 

import com.badlogic.androidgames.framework.FileIO; 

public class Settings { 
    public static boolean soundEnabled = true; 
    public final static int[] highscores = new int[] { 100, 80, 50, 30, 10 }; 
    public final static String file = ".superjumper"; 

    public static void load(FileIO files) { 
     BufferedReader in = null; 
     try { 
      in = new BufferedReader(new InputStreamReader(files.readFile(file))); // 这里报异常 
      soundEnabled = Boolean.parseBoolean(in.readLine()); 
      for(int i = 0; i < 5; i++) { 
       highscores[i] = Integer.parseInt(in.readLine()); 
      } 
     } catch (IOException e) { 
      // :(It's ok we have defaults 
     } catch (NumberFormatException e) { 
      // :/ It's ok, defaults save our day 
     } finally { 
      try { 
       if (in != null) 
        in.close(); 
      } catch (IOException e) { 
      } 
     } 
    } 

    public static void save(FileIO files) { 
     BufferedWriter out = null; 
     try { 
      out = new BufferedWriter(new OutputStreamWriter(
        files.writeFile(file))); 
      out.write(Boolean.toString(soundEnabled)); 
      out.write("\n"); 
      for(int i = 0; i < 5; i++) { 
       out.write(Integer.toString(highscores[i])); 
       out.write("\n"); 
      } 

     } catch (IOException e) { 
     } finally { 
      try { 
       if (out != null) 
        out.close(); 
      } catch (IOException e) { 
      } 
     } 
    } 

    public static void addScore(int score) { 
     for(int i=0; i < 5; i++) { 
      if(highscores[i] < score) { 
       for(int j= 4; j > i; j--) 
        highscores[j] = highscores[j-1]; 
       highscores[i] = score; 
       break; 
      } 
     } 
    } 
} 

我断点和调试错误是FileNotFoundException。我在mmnt/SdCard找不到superjumper

代码没有问题。为什么它有例外?

回答

1

在编译项目时,编译器无法看到文件“.superjumper”是否存在。
因为它会在运行时发现一个异常,如果它找不到它。这里是这种情况。

您需要知道要加载的“.superjumper”文件的确切位置。