我可以用
FileOutputStream openFileOutput("file.txt", MODE_PRIVATE);
从上下文中,然后将文件写入/data/data/com.example/files/
。如果我尝试在不使用上下文的情况下创建FileOutputStream,就像这样...
FileOutputStream outputStream = new FileOutputStream(file)
...然后我收到此错误:java.io.FileNotFoundException: /file.txt (Read-only file system)
我猜这是因为使用new()构造函数将文件名解释为绝对路径,而openFileOutput()将其解释为相对于getFilesDir()
返回的目录。但是,getFilesDir()
也是Context的一种方法。
我是否在上下文中工作以便在本地保存文件,或者是否有无上下文的方式?