Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中的DCIM文件夹中创建文件夹(抱歉,另一个。)_Java_Android_Unity3d - Fatal编程技术网

Java 在Android中的DCIM文件夹中创建文件夹(抱歉,另一个。)

Java 在Android中的DCIM文件夹中创建文件夹(抱歉,另一个。),java,android,unity3d,Java,Android,Unity3d,好的,我正在Unity中制作一个游戏,我正在尝试截图并将其保存到我在DCIM文件夹中创建的文件夹中。我试着在Unity中创建文件夹,但始终没有成功。 我尝试在Android studio中创建一个插件来实现这一点,但也没有成功 以下是我的Java代码: package foldercreator.TehBestCompany.com.foldermakerlibrary; import android.os.Environment; import android.util.Log; impo

好的,我正在Unity中制作一个游戏,我正在尝试截图并将其保存到我在DCIM文件夹中创建的文件夹中。我试着在Unity中创建文件夹,但始终没有成功。 我尝试在Android studio中创建一个插件来实现这一点,但也没有成功

以下是我的Java代码:

package foldercreator.TehBestCompany.com.foldermakerlibrary;

import android.os.Environment;
import android.util.Log;

import java.io.File;
import java.lang.String;


public class FolderMaker {

    public boolean MoveFile( String filename, String sourceFolder, String destinationFolder )
    {
        String fullDestinationFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString() + "/" + destinationFolder;

        Log( "Destination folder " + fullDestinationFolder);

        final File f = new File( fullDestinationFolder );

        if (!f.exists()) {
            Log( "Folder doesn't exist, creating it...");
            boolean rv = f.mkdir();
            Log( "Folder creation " + ( rv ? "success" : "failed"));
        } else {
            Log( "Folder already exists.");
        }

        return true;
    }



    private void Log( String message )
    {
        Log.d("[LOG FILE]", message );
        System.out.println( "[LOG FILE] " + message );
    }
}
当我运行代码时,总会收到一条“文件夹创建失败”消息

这是我的库清单(我已经在Unity中选中了uses external storage选项,如果有帮助的话):


有人能给我一些建议吗


我知道这个问题以前被问过很多次,但在尝试了一整天的各种解决方案后,我完全没有主意了。

对我来说,当我改变这一行时,它起了作用:

String fullDestinationFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString() + "/" + destinationFolder;
致:

然后:

File fileName = new File(fullDesinationFolder, "screenshot.jpeg");
或者直接做:

File fileName = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)+"/destenationFolder"), "screenshot.jpeg");

谢谢你的回答,但是我不能做你的第一个建议(即,
…DIRECTORY\u DCIM)+“/destenationFolder”).toString()
,该文件夹也无法工作?(在
目录\u DCIM
之后)没有。我这样做了,但仍然收到一条文件夹创建失败的消息<代码>字符串fullDestinationFolder=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY\u DCIM)+“/”+destinationFolder;最终文件f=新文件(fullDestinationFolder,文件名);如果(!f.exists()){Log(“文件夹不存在,正在创建…”);boolean rv=f.mkdirs();Log(“文件夹创建”+(rv?:“成功”);;}否则{Log(“文件夹已存在”);}
我看到您在
目录\u DCIM
之后关闭括号。。。在
destinationFolder
之后才关闭括号
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY\u DCIM+“/”+destinationFolder)
尝试了此操作,但仍然无效。最终文件f=新文件(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM+“/”+destinationFolder),文件名);如果(!f.exists()){Log(“文件夹不存在,正在创建它…”);boolean rv=f.mkdirs();Log(“文件夹创建”+(rv?):“成功”);如果(!rv)返回false;}否则{Log(“文件夹已存在”);}
File fileName = new File(fullDesinationFolder, "screenshot.jpeg");
File fileName = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)+"/destenationFolder"), "screenshot.jpeg");