gpt4 book ai didi

Android FileOutputStream 位置保存文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:27 26 4
gpt4 key购买 nike

我有一个应用程序可以将用户输入的数据保存到文件(内部存储)中,并在启动时加载该文件并显示内容。我想知道:在哪里可以找到我的文件 (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;
}

谢谢。

[更新]

我在每次输入后都插入了“\n”:

user = (EditText) v.findViewById(R.id.username);
writeToFile(user.getText().toString() + "\n");

但是当我打印我的文件时,它们总是在同一行。

最佳答案

Where can I find my file (data.txt)?

您可以使用 YourActivity.this.getFilesDir().getAbsolutePath() 找到由 openFileOutput 创建的目录的路径。

But I want "Hello" and "World" printed in two different lines.

在文件中写一个字后使用line.separator,例如:

String separator = System.getProperty("line.separator");
outputStreamWriter.write(data);
outputStreamWriter.append(separator);
...

或者您也可以使用replaceAll 将字符串分成多行:

String separator = System.getProperty("line.separator");
data=data.replaceAll(" ",separator);

关于Android FileOutputStream 位置保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27819100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com