我想在内部文件夹中保存文件,但出现以下错误:错误:文件包含路径分隔符这是我的代码:try { OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("storage/emulated/0/test2/test2.txt", Context.MODE_APPEND)); outputStreamWriter.append(data); outputStreamWriter.close();} 最佳答案 首先,openFileOutput()只取文件名,而不是完整路径。引用第一个参数为的AA>:“要打开的文件的名称;不能包含路径分隔符。”其次,openFileOutput()用于the documentation上的文件。根据您的路径,您似乎正在尝试使用internal storage。你不能用openFileOutput()来做这个。第三,永远不要硬编码路径。你的路径对于数以亿计的android设备来说是错误的。总是使用Android提供的方法来导出要使用的目录。第四,不要用新目录扰乱外部存储的根目录。这相当于将所有程序的文件放在Windows上的openFileOutput()驱动器的根目录中。第五,写入外部存储的根中的位置意味着用户必须授予您在外部存储(通过C:权限)的任何地方写入的权限,这也增加了您的应用程序的复杂性(A的礼貌)。例如,您可以将第一行替换为:OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(new File(getExternalFilesDir(null), "test2.txt")));这为您提供了一个对您的应用程序唯一的外部存储(WRITE_EXTERNAL_STORAGE)的位置,并且不需要Android 4.4上的任何特殊权限。
08-15 19:00