gpt4 book ai didi

java - 防止应用程序因 java.io.IOException : write failed: ENOSPC (No space left on device) 崩溃

转载 作者:行者123 更新时间:2023-12-01 17:59:41 25 4
gpt4 key购买 nike

在尝试写入设备时,当设备已满时,我收到错误:com.google.gson.JsonIOException:java.io.IOException:写入失败:ENOSPC(设备上没有剩余空间) )。我有一个 try-catch block 来捕获 IOException 和几行来检查列表的大小和可用存储空间以确定是否有空间可写入文件,但它仍然使应用程序崩溃,并且我得到了上面提到的 IOException .

这是代码:

File file = new File(getExternalFilesDir(null), fileName+".txt");
int file_size = Integer.parseInt(String.valueOf(file.length()/1024));
long storage_size = (getAvailableInternalMemorySize()/1024);
long list_size = listToWrite.toString().getBytes().length/1024;
long total_size = file_size + list_size;
if(total_size < storage_size) {
try (Writer writer = new FileWriter(file, false)) {
Gson gson = new GsonBuilder().create();
gson.toJson(listToWrite, writer);
} catch (IOException e) {
e.printStackTrace();
}
}

有没有办法阻止应用程序崩溃并仅向用户显示 Toast 消息或执行某些操作。

最佳答案

在 list 文件中添加此属性:

android:installLocation="preferExternal"

关于java - 防止应用程序因 java.io.IOException : write failed: ENOSPC (No space left on device) 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60658716/

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