应用程序将数据写入文件

时间:2012-10-13 15:26:07

标签: android file

我正在编写一个将加速度计值写入文件的Android应用程序,我得到的值显示在屏幕上,但我不知道它是否将它们写入文件,如果是我找不到该文件。

我有这种方法,但我不确定它是否做得对;

public void WriteToFile()
{
    try
    {
        final String accelValue = new String(accelXValue + "," + accelYValue + "," + accelZValue);
        FileOutputStream fOut = openFileOutput("accelValue.txt", MODE_WORLD_READABLE);
        OutputStreamWriter osw = new OutputStreamWriter(fOut); 
        // Write the string to the file
        osw.write(accelValue);

        osw.flush();
        osw.close();
    }
    finally
    {
        return;
    }
}

这会将文件存储在手机上的哪个位置?

我应该在我的代码中的某处调用它,还是按照加速度计方法进行调整?

感谢。

此外,应用程序需要创建其写入文件。

https://stackoverflow.com/a/8738467/1383281

这个答案有帮助吗?

这是新代码,但它似乎仍然没有做任何事情。

public void WriteToFile() 
{ 
    File AccelData = new File(Environment.getExternalStorageDirectory() + File.separator + "AccelData.txt");
    try
    {
        if (!(AccelData.exists()))
                {
                    AccelData.createNewFile();
                }

        final String accelValue = new String(accelXValue + "," + accelYValue + "," + accelZValue);
        FileOutputStream ADOut = openFileOutput("accelValue.txt", MODE_WORLD_READABLE);
        OutputStreamWriter AD = new OutputStreamWriter(ADOut);
        AD.write(accelValue);
    }
    finally
    {
        return;
    } 
}

2 个答案:

答案 0 :(得分:1)

public void WriteToFile()
{
    FileOutputStream fOut = openFileOutput("accelValue.txt", MODE_WORLD_READABLE);
    OutputStreamWriter osw = new OutputStreamWriter(fOut);

    try
    {
        final String accelValue = new String(accelXValue + "," + accelYValue + "," + accelZValue);
        // Write the string to the file
        osw.write(accelValue);
    }
    finally
    {
        osw.flush();
        osw.close();
        return;
    }
}

答案 1 :(得分:0)

检查

http://developer.android.com/guide/topics/data/data-storage.html

用于写入文件的不同选项。你基本上可以写信给

  • 内部存储 - 将私人数据存储在设备内存中。
  • 外部存储 - 将公共数据存储在共享外部存储上。

并且必须照顾许可等。