xXJ*_*oXx 10 android save fileoutputstream
我有一个应用程序保存到用户输入的文件(内部存储)数据中,并在启动时加载此文件并显示内容.我想知道:我在哪里可以找到我的文件(data.txt)?另外,如果我在加载文件时输入"Hello"然后输入"World",我会在同一行看到"HelloWorld",但我希望"Hello"和"World"打印在两个不同的行上.
用于保存文件:
public void writeToFile(String data) {
    try {
        FileOutputStream fou = openFileOutput("data.txt", MODE_APPEND);
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fou);
        outputStreamWriter.write(data);
        outputStreamWriter.close();
    }
    catch (IOException e) {
        Log.e("Exception", "File write failed: " + e.toString());
    }
}
对于加载文件:
public String readFromFile() {
    String ret = "";
    try {
        InputStream inputStream = openFileInput("data.txt");
        if ( inputStream != null ) {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String receiveString = "";
            StringBuilder stringBuilder = new StringBuilder();
            while ( (receiveString = bufferedReader.readLine()) != null ) {
                stringBuilder.append(receiveString);
            }
            inputStream.close();
            ret = stringBuilder.toString();
        }
    }
    catch (FileNotFoundException e) {
        Log.e("login activity", "File not found: " + e.toString());
    } catch (IOException e) {
        Log.e("login activity", "Can not read file: " + e.toString());
    }
    return ret;
}
谢谢.
[UPDATE]
我在每次输入后都插入了"\n":
user = (EditText) v.findViewById(R.id.username);
writeToFile(user.getText().toString() + "\n");
但是当我打印我的文件时,它们总是在同一条线上.
ρяσ*_*я K 12
我在哪里可以找到我的文件(data.txt)?
您可以openFileOutput通过使用找到目录的路径YourActivity.this.getFilesDir().getAbsolutePath().
但是我希望"Hello"和"World"印在两个不同的行上.
line.separator在文件中写入单词后使用,例如:
String separator = System.getProperty("line.separator");
outputStreamWriter.write(data);
outputStreamWriter.append(separator);
...
或者您也可以使用replaceAll将String分成多行:
String separator = System.getProperty("line.separator");
data=data.replaceAll(" ",separator);
| 归档时间: | 
 | 
| 查看次数: | 33579 次 | 
| 最近记录: |