首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Android内部存储

如何使用Android内部存储
EN

Stack Overflow用户
提问于 2016-10-16 11:30:10
回答 2查看 836关注 0票数 0

我正在编写一个应用程序,我希望允许在PC上使用创建的csv文件。Android有内部存储,它可以在Android上查看,并且可以通过PC上的USB访问。我尝试了各种方法来生成一个文件名:

代码语言:javascript
复制
/data/user/0/com.ed.ilan.ioioterbium/files/documents/2016_9_16_10_28_12.csv
/data/user/0/com.ed.ilan.ioioterbium/files/2016_9_16_10_35_57.csv
2016_9_16_10_46_34.csv

我使用getFilesDir()获得的应用程序的名称,但是前两个例子不起作用,因为Java抱怨名称中的斜杠。第三个可以工作,但是在(AppName)/file/中什么都看不见。我不知道这是出于安全考虑而设计的,还是文件真的不存在。代码是

代码语言:javascript
复制
String name = getFileName();
try {
        FileOutputStream fOut = new FileOutputStream(name);
        OutputStreamWriter osw = new OutputStreamWriter(fOut);
        osw.write("test1");
        osw.flush();
        osw.close();
        fOut.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

我真的希望文件在内部存储中。我创建了一个名为myData的文件夹,我可以在电话和PC上看到它。问题是:如何指导应用程序写入内部存储。我知道这不是“安全”,但我只想得到文件。

要写入内部存储,您需要在清单中这样做

代码语言:javascript
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

如果我们决定将文件放到云服务器上,那么有标准的方法吗?

谢谢你,伊兰

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-16 11:42:55

如果您使用的是getFilesDir(),那么它返回一个特定于android应用程序的路径。用户根本无法访问getFilesDir()返回的路径。

如果您有一个有根的设备,那么您可以访问上面的路径。

如果您希望只有应用程序可以访问由您存储的文件,然后使用getFilesDir(),则可以使用

代码语言:javascript
复制
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS).getAbsolutePath();
票数 1
EN

Stack Overflow用户

发布于 2016-10-16 11:34:17

我知道你想把一个文件写到你手机的Documents文件夹里,对吗?如果是这样的话,下面的内容可能会有所帮助,您可以在其中编写.csv文件。

代码语言:javascript
复制
 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40069737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档