如何使用android java将浮点数保存到文件?

时间:2015-09-06 12:39:28

标签: java android libgdx aide-ide

我有一个简单的游戏,我需要将高分(浮动)存储到文件中,然后在用户下载应用程序时读取它。我希望它保存在设备上,但是,我发现没办法这样做。如何将设备上的数据保存到所选位置?

3 个答案:

答案 0 :(得分:1)

您可以使用内部存储空间。这将创建可以写入和读取的文件。执行此操作的最佳方法是创建一个处理文件的单独类。以下是两种读取和写入高分的方法。

要设置高分,请使用 setHighScore(float f)

public void setHighScore(float highscore){
    FileOutputStream outputStream = null;
    try {
        outputStream = (this).openFileOutput("highscore", Context.MODE_PRIVATE);

        outputStream.write(Float.toString(f)).getBytes());
        outputStream.close();

    } catch (Exception e) {e.printStackTrace();}
}

要获得高分,请使用 getHighScore()

public float getHighScore(){
    ArrayList<String> text = new ArrayList<String>();

    FileInputStream inputStream;
    try {
        inputStream = (this).openFileInput("highscore");

        InputStreamReader isr = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(isr);

        String line;
        while ((line = bufferedReader.readLine()) != null) {
            text.add(line);
        }
        bufferedReader.close();
    } catch (Exception e) { e.printStackTrace();}
return Float.parseFloat(text.get(1));
}

答案 1 :(得分:0)

使用文件处理 - 我建议使用文件处理技术进行基本操作。使用java的InputStream和OutputStream类自动创建文本文件。然后在其中添加浮动。正如上面的评论中所建议的那样。

使用属性文件 - 请参阅此代码 - http://www.mkyong.com/java/java-properties-file-examples/

使用数据库 - 你可以继续使用一个安全存储分数的数据库,确保没有人轻易篡改它。这个教程 - http://www.tutorialspoint.com/jdbc/

答案 2 :(得分:0)

用很少的几行尝试简单。

public void saveHighScore(File file, float highScore){
try{
Formatter out = new Formatter(file);
out.format("%f", highScore);
out.close();
}catch(IOException ioe){}
}