2012-03-15 51 views
0
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE); 
fos.write(string.getBytes()); 
fos.close(); 

当试图删除这些文件中的一个,这就是我所用,但它返回false。在Android中编写文件时,我的目录是什么?

String tag = v.getTag().toString(); 
File file = new File(System.getProperty("user.dir")+"/"+tag); 
String s = new Boolean (file.exists()).toString(); 
Toast.makeText(getApplicationContext(), s, 1500).show(); 
file.delete(); 

我该如何克服这个问题?

回答

3

您当前的工作目录。

为了帮助诊断问题,请使用file.getAbsolutePath()看到的完整路径。

它也可能是一个权限问题,如果你想从其他应用程序进行删除。如果是这样,您可能需要更改为MODE_WORLD_WRITEABLE(不安全),或重新构建代码,以便创建和删除由同一个应用程序调用。

编辑:这主要是不正确。我没有意识到openFileOutput没有使用当前的工作目录。

尝试删除
+0

是什么Android应用程序的默认工作目录? – 2012-03-15 04:29:55

+0

哦,是什么,我如何设置工作目录,或者我在哪里可以找到我目前的工作目录? – Marc 2012-03-15 04:29:57

+1

/data/data/$ package_name/files – idiottiger 2012-03-15 04:33:30

1

使用相同内容的文件名“”变量在你的第一个片段的第二片段。

+0

除非'FILENAME'是绝对路径,否则这是行不通的。 – 2012-03-15 05:17:03

0
String RootDir = Environment.getExternalStorageDirectory() 
       + File.separator + "Video"; 
     File RootFile = new File(RootDir); 
     RootFile.mkdir(); 

      FileOutputStream f = new FileOutputStream(new File(RootFile, "Sample.mp4")); 

我用这个代码来保存视频文件到非默认的位置。希望这对你有用。默认情况下它是存储在SD卡中

对于每个应用程序,Android系统创建一个“数据/数据/应用程序包”目录。 文件被保存在“文件”文件夹,在这个目录

下更改默认的目录上面的代码将被用于

可以使用fileobject.getAbsolutePath显示工作目录的默认()

相关问题