首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存在SD卡中将文件保存在错误的位置

保存在SD卡中将文件保存在错误的位置
EN

Stack Overflow用户
提问于 2013-06-07 16:50:38
回答 3查看 122关注 0票数 1

我有一份文件

代码语言:javascript
复制
String filename="MEMS.backup";

我用这个来保存:

代码语言:javascript
复制
InputStream myInput;

         File sdCard = Environment.getExternalStorageDirectory();
         File directory = new File (sdCard, "Myfolder"); 

            try {


 myInput = new FileInputStream(MyApplication.getAppContext().getFilesDir().getParentFile().getPath()+"/databases/MEMS");

                // Create the folder if it doesn't exist:
                if (!directory.exists()) 
                {
                    directory.mkdirs();
                } 

    OutputStream myOutput = new FileOutputStream(directory.getPath()+
                         filename);

并加载以下内容:

代码语言:javascript
复制
OutputStream myOutput;

        File sdCard = Environment.getExternalStorageDirectory();
        File directory = new File (sdCard, "Myfolder");


        try {

myOutput= new FileOutputStream(MyApplication.getAppContext().getFilesDir().getParentFile().getPath()+"/databases/MEMS");

InputStream myInputs = new FileInputStream(directory.getPath()+filename);

问题是它在sdcard中创建了"Myfolder“,但它是空的。

而文件"MEMS“正好在sdcard中(应该在我的文件夹中)。

文件的名称是MyfolderMEMS而不是MEMS。

我想不出我的错误。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-07 16:56:49

我希望问题是文件分隔符丢失了,试试这个。

代码语言:javascript
复制
OutputStream myOutput = new FileOutputStream(directory.getPath()+File.separator+
                         filename);

或者试试这个,

代码语言:javascript
复制
OutputStream myOutput = new FileOutputStream(directory.getPath()+"/"+
                         filename);
票数 1
EN

Stack Overflow用户

发布于 2013-06-07 16:52:38

变化

代码语言:javascript
复制
 OutputStream myOutput = new FileOutputStream(directory.getPath()+
                         filename);

使用

代码语言:javascript
复制
File file = new File(directory, filename); 
OutputStream myOutput = new FileOutputStream(file);
票数 1
EN

Stack Overflow用户

发布于 2013-06-07 17:02:55

参考下面的代码在myfolder中创建新文件

代码语言:javascript
复制
 File sdCard = Environment.getExternalStorageDirectory();
 File directory = new File (sdCard, "Myfolder"); 


if( !directory.exists() )
    directory.mkdirs();

File f = new File( directory, "my_file.jpg" );
OutputStream myOutput = new FileOutputStream(f);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16979944

复制
相关文章

相似问题

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