Android在内存问题中创建文件夹

时间:2011-11-15 12:11:42

标签: android memory internal

我在内存中为我的应用程序创建文件夹时遇到了一些问题。我正在使用这段代码:

    public static void createFoldersInInternalStorage(Context context){
    try {

        File usersFolder = context.getDir("users", Context.MODE_PRIVATE);
        File fileWithinMyDir = new File(usersFolder, "users.txt"); //Getting a file within the dir.
        FileOutputStream out = new FileOutputStream(fileWithinMyDir); //Use the stream as usual to write into the file.

        File dataFolder = context.getDir("data", Context.MODE_PRIVATE);
        File fileWithinMyDir2 = new File(dataFolder, "data.txt"); //Getting a file within the dir.
        FileOutputStream out2 = new FileOutputStream(fileWithinMyDir2); //Use the stream as usual to write into the file.

        File publicFolder = context.getDir("public", Context.MODE_PRIVATE);
        File fileWithinMyDir3 = new File(publicFolder, "public.txt"); //Getting a file within the dir.
        FileOutputStream out3 = new FileOutputStream(fileWithinMyDir3); //Use the stream as usual to write into the file.

    } catch(FileNotFoundException e){
        e.printStackTrace();
    }
}

因此创建了文件夹,但在其名称前面有一个"app_"app_usersapp_dataapp_public。有没有办法用我给出的名字创建文件夹?还有一个问题:我想先创建文件夹Documents,然后创建其他所有文件夹"Data, Public, Users" ....最后一个问题:如果我想创建一个文件夹,我该如何给出正确的文件夹路径内部存储器中Documents/Users/myfile.txt的文件?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以使用:

File myDir = context.getFilesDir();
String filename = "documents/users/userId/imagename.png";
File file = new File(myDir, filename);
file.createNewFile();
file.mkdirs();
FileOutputStream fos = new FileOutputStream(file);
fos.write(mediaCardBuffer);
fos.flush();
fos.close();

答案 1 :(得分:1)

  

有没有办法用我给出的名字创建文件夹?

使用getFilesDir()和Java文件I / O而不是getDir()

  

如果我想在内存中的Documents / Users / myfile.txt中创建文件,我该如何给出正确的文件夹路径?

使用getFilesDir()和Java文件I / O,例如File构造函数,它使用FileString来组合路径。