部分代码如下
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,
我想了解下这个代码应该是没问题的,可是为什么就会有异常呢?
求大侠指点
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,
我想了解下这个代码应该是没问题的,可是为什么就会有异常呢?
求大侠指点
你应该了解你要加载的 ".superjumper" 文件的准确位置。http://weibo.com/csdnask?s=6uyXnP%5D%5Bimg%5Dhttp%3A%2F%2Fservice.t.sina.com.cn%2Fwidget%2Fqmd%2F3045752580%2Fce712180%2F4.png%5B%2Fimg%5D%5B%2Furl