我正在尝试访问我通过我的应用程序填写的文件。我将它存储在手机的内存中,而不是我的应用程序的内存中。
我的问题是当我在我的电脑上打开它时文件不存在(通过 USB 连接手机)。但是当我直接从智能手机打开它时,它是可用的并且不是空的。
我需要此文件在我的计算机上可用。
在我的清单上:
READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE
我试过这样:
FileWriter outFile = new FileWriter(Environment.getExternalStoragePublicDirectory("my_app/data/file.txt");
PrintWriter out = new PrintWriter(outFile);
out.append("text");
out.flush();
out.close();
还有这种方式:
File file = Environment.getExternalStoragePublicDirectory("my_app/data/file.txt");
FileOutputStream outputStream = context.openFileOutput(file, Context.MODE_WORLD_READABLE);
PrintStream printStream = new PrintStream(outputStream);
printStream.println(text);
printStream.close();
另一种方式..
File file = Environment.getExternalStoragePublicDirectory("my_app/data/file.txt");
FileWriter outFile = new FileWriter(file);
BufferedWriter buf = new BufferedWriter(outFile);
buf.write("hey");
buf.close();
outFile.close();
其中一些解决方案有效,但仅在我的手机上,所以它不是世界可读的,其他的只是不起作用......
OutPutStreamWriter
, FileWriter
, BufferedWriter
, FileOutputStream
, PrintWriter
, ... 和有什么不一样?我必须选择哪一个?
我如何设法创建我的公共文件以便直接从我的计算机访问它?
谢谢您的帮助!