gpt4 book ai didi

java - openFileOutput 不工作

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:01 25 4
gpt4 key购买 nike

我正在逐步调试以下代码 fragment ,它不会按预期创建或读取文件,也不会引发任何异常。这位于我的应用程序的主要 Activity 中。这些代码行有什么问题吗?

public void onClick(View v) {
try {
FileOutputStream outputStream = openFileOutput("test.txt", Context.MODE_PRIVATE);

try {
outputStream.write("this is a text".getBytes());

outputStream.close();

FileInputStream inputStream = openFileInput("test.txt");
String string = new String();
inputStream.read(string.getBytes());
Toast.makeText(getApplicationContext(), string, Toast.LENGTH_LONG).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}

最佳答案

  String string = new String();
inputStream.read(string.getBytes());
Toast.makeText(getApplicationContext(), string, Toast.LENGTH_LONG).show();

看起来您正在尝试将数据直接读取到字符串中。你不能那样做。 Java 中的字符串是不可变的。当您对字符串调用 getBytes() 时,您不会获取其内部缓冲区,而是获取其数据的副本。

相反,您应该读入一个全新的缓冲区,直到 inputStream 没有更多数据,将其转换为字符串并显示。

关于java - openFileOutput 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643067/

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