当前位置: 首页 > 知识库问答 >
问题:

无法在缓存目录中写入文件

景鸿晖
2023-03-14

我无法在缓存目录中写入文件

val file = File(context.cacheDir, usbFile.name)
val bufferedOutputStream = context.openFileOutput(usbFile.name, Context.MODE_PRIVATE).buffered()
val bufferedInoutStream = UsbFileInputStream(usbFile).buffered()

var read = 0
while ({ read = bufferedInoutStream.read(); read != -1 }()) {
    bufferedOutputStream.write(read)
}

使用context.filesdir(但不使用context.cachedir)可以很好地工作。我正在使用libaums库读取USB文件。

共有1个答案

蒋斯伯
2023-03-14

openfileoutput()写入getfilesdir()指向的文件系统位置。OpenFileOutput()GetCachedir()无关。

因此,如果要写入getCachedir(),由于已经有file指向那里,请替换:

val bufferedOutputStream = context.openFileOutput(usbFile.name, Context.MODE_PRIVATE).buffered()

与:

val bufferedOutputStream = FileOutputStream(file).buffered()
 类似资料:
  • 问题内容: 我有此功能可以将图像保存在tmp文件夹中 但是,当我打开应用程序的temp文件夹时,它是空的。将图像保存在temp文件夹中,我做错了什么? 问题答案: 不是获取的文件路径的正确方法,请改用: 或者 更好的是, 仅使用URL: 更好的是,使用 并检查成功或失败: Swift 3/4更新:

  • 我有下面的Dockerfile。我试图用--build参数重建图像和docker compose。我看到它经历了包括重新创建证书在内的步骤,但它不会将其写入目录。该目录归root所有,root拥有对其的完全访问权限。我也在运行docker compose。这是/var/lib/docker/volumes上的挂载目录。存在/etc/apache2/certificate目录。我错过了什么?

  • 我想写一个字节向量,

  • 我是android新手,有时找不到合适的解决方案,这就是其中之一。 我写了一个简单的应用程序来编写使用ITextPdf libray生成的内部pdf。这工作得很好,我可以从设备文件资源管理器中看到pdf文件。现在我正在使用外部存储做同样的事情,但在这种情况下,我不能在下载文件夹中生成文件。我找到了对我的代码不起作用的解决方案。 我的代码: java文件 我在中发现了问题。它返回-1,但我不明白它不

  • 问题内容: 我正在尝试将具有叠加层的地图快照保存在caches目录中,并在其存在时进行检索。但是,尽管正在创建文件,但当我尝试检索它时,UIImage(contentsOfFile :)返回nil。我已经打印了写和读的文件路径,它们是相同的,并通过下载容器并检查目录来验证文件是否存在,并且文件确实存在。 知道这里的问题是什么吗? 问题答案: 那里的问题是您使用URL属性absoluteString

  • 我正在尝试创建一个目录和文件,以便可以存储从Internet下载的文件。但是,我无法在外部公共存储中创建目录和文件。如果我写入外部私有存储(应用程序的特定存储位置),我完全可以这样做。 代码如下: 上面的代码导致: 09-13 05:33:45.258 5867-5867/? I/S。出来﹕ /存储/0CED-0F09/图片 09-13 05:33:45.260 5867-5867/? I/S。出