[유니티] 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가 뜨는데 어떻게 해야되나요ㅠㅠ??
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력