Java android API28:无法写入以前创建的文件
我的问题是,我不能用我的android应用程序写入现有文件。按下按钮一次,创建文件并将行写入其中。但在那之后按下按钮什么也不起作用。我真的找不到错误Java android API28:无法写入以前创建的文件,java,android,Java,Android,我的问题是,我不能用我的android应用程序写入现有文件。按下按钮一次,创建文件并将行写入其中。但在那之后按下按钮什么也不起作用。我真的找不到错误 String filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator + "test.txt"; 在创建时,我请求权限,这些权限也在manifest.xm
String filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator + "test.txt";
在创建时,我请求权限,这些权限也在manifest.xml中设置
String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE};
requestPermissions(permissions,1);
单击“我的功能”:
View.OnClickListener myhandler2 = new View.OnClickListener() {
public void onClick(View v) {
try {
final Path path = Paths.get(filePath);
Files.write(path, Arrays.asList("line"), StandardCharsets.UTF_8,
Files.exists(path) ? StandardOpenOption.APPEND : StandardOpenOption.CREATE);
} catch (final IOException e) {
}
单击按钮数次并在单独的编辑器中打开文件后,仅显示第一行。但是Files.readAllLines(path).toString()可以显示所有内容
**编辑:**好的,代码就像一个符咒。我将手机插入电脑,只有在创建了新文件后,才会刷新windows下的目录。只有在拔下并重新连接手机后,才能看到文件中的更改。有人对这种行为有解释吗?
**EDIT2:*我使用Windows资源管理器导航到该文件,并使用文本编辑器打开它。变化不可见。然而,使用内置的android studio设备文件资源管理器(视图>工具窗口>设备文件资源管理器)并在android studio中打开文件显示了每个更改 您的代码包含可能包含出错原因的异常: 将此添加到您的应用程序并查看错误消息:
} catch (final Exception e) {
// could be SecurityException some permission issu, IOException i.e file locked, invalid filePath
Log.e("MyApName", "cannot append to '" + filePath+
"'", e);
}
谢谢你的回答。为了可读性,我删除了上面代码段中的异常处理。没有抛出异常…您的代码捕获IOException mine捕获异常。没有捕获到一般异常?没有异常或IOException。你看过我昨天在问题中的编辑了吗?