[유니티] StreamingAssets 폴더의 파일들을 디바이스에 복사하고싶습니다.

조회수 2219회

유니티 프로젝트의 StreamingAssets 폴더에 넣어놓은 영상파일들을 폴더를 만들어서 저장하고싶은데요...

public class CreateFolder : MonoBehaviour {
    string targetDir;
    string destDir = "/storage/emulated/0/DCIM/TestFolder";
    public Text debugtext;
    string logtext;
    void Start () {
        targetDir = "jar:file//"+Application.dataPath + "!/assets/";
        logtext += targetDir + "\n";
        logtext += destDir + "\n";
    }

    void Update () {
        debugtext.text = logtext;
    }

    public void ClickButton(){

        if (!System.IO.Directory.Exists (destDir)) {            
            System.IO.Directory.CreateDirectory (destDir);
            logtext += "Create Folder \n";
        } 
        logtext += "ButtonClick \n";

        System.IO.DirectoryInfo isChild = new DirectoryInfo (targetDir);

        logtext += isChild.Exists.ToString()+"\n";

        if (isChild.Exists) {
            logtext += "before DirectoryInfo[] childs \n";
            System.IO.DirectoryInfo[] childs = isChild.GetDirectories ("*", System.IO.SearchOption.AllDirectories);
            logtext += "DirectoryInfo[] childs \n";
            foreach (System.IO.DirectoryInfo child in childs) {
                foreach (string vod in System.IO.Directory.GetFiles(child.FullName,"*.mp4")) {
                    string date = System.DateTime.Now.ToString ("G");
                    logtext += date + "\n";
                    string fileName = date + ".mp4";
                    logtext += fileName + "\n";
                    string finalDir = System.IO.Path.Combine (destDir, fileName);
                    logtext += finalDir + "\n";
                    System.IO.File.Copy (vod, finalDir, true);
                    logtext += "Copy Files \n";
                }
            }
        }else{
            logtext += "isChild not exists \n";
        }
        string destFile = System.IO.Path.Combine (destDir, "copymovie.mp4");
        logtext += destFile + "\n";
        System.IO.File.Copy (targetDir, destFile, true);
        logtext+="Copy files \n";

    }
}

이리저리 찾아보면서 이렇게 작성을 했는데 폴더를 생성하는것까지는 동작이 됩니다.

그런데

 System.IO.DirectoryInfo isChild = new DirectoryInfo (targetDir);

여기에서부터 값이 false가 뜨면서 동작을 안하더라구요ㅠㅠ...

System.IO.Directory.Exists(targetDir); 

로 확인해봐도 false가 뜹니다...

targetDir = Application.streamingAssetsPath;

으로 해서 확인해도 false가 뜨는데 어떻게 해야되나요ㅠㅠ??

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)