본문 바로가기
개발/Unity

문제해결)Unity)File.Delete 안되는 경우

by 테샤르 2023. 2. 13.

File.Delete 안되는 경우

File.Delete(Path)가 정상적으로 삭제가 안되고 있어서 문제를 좀 확인했다.

일단 File.Delete(Path)에 대해서 알필요가 있다.

 

<File.Delete 설명>

File.Delete는 System.IO.File 클래스의 메서드로 지정된 파일을 삭제하는 데 사용된다.

이 방법은 개별 파일에서만 작동하며 디렉터리를 삭제하려고 하면 예외가 발생한다.

 

<예시>

using System.IO;

string filePath = Application.dataPath + "/example.txt";

if (File.Exists(filePath))
{
    File.Delete(filePath);
    Debug.Log("File deleted: " + filePath);
}
else
{
    Debug.LogError("File not found: " + filePath);
}

 

반응형

<FileUtil.DeleteFileOrDirectory 설명>


FileUtil.DeleteFileOrDirectory는 UnityEditor.FileUtil 클래스의 메서드이며 지정된 파일 또는 디렉터리(그 안의 모든 파일 및 하위 디렉터리 포함)를 삭제하는 데 사용된다. 이 방법은 파일과 디렉토리 모두에서 작동하며 Unity에서 파일과 디렉토리를 삭제하기 위한 방법으로 이 함수의 Path는 Root Folder에 상대적이지만 절대 경로로 허용이 가능하다.

 

<예시>

using UnityEditor;

string fileOrDirectoryPath = Application.dataPath + "/example";

if (Directory.Exists(fileOrDirectoryPath) || File.Exists(fileOrDirectoryPath))
{
    FileUtil.DeleteFileOrDirectory(fileOrDirectoryPath);
    Debug.Log("File or directory deleted: " + fileOrDirectoryPath);
}
else
{
    Debug.LogError("File or directory not found: " + fileOrDirectoryPath);
}

사용하면서 Path가 상대적인 Path를 사용하다보니 정상적으로 동작하지 않았던것 같다.

그런경우에는 FileUtil.DeleteFileOrDirectory를 사용해보자.

 

 

 

Unity File.Delete : [링크]

 

Unity - Scripting API: Windows.File.Delete

Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Close

docs.unity3d.com

Unity FileUtil.DeleteFileOrDirectory : [링크]

 

Unity - Scripting API: FileUtil.DeleteFileOrDirectory

Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Close

docs.unity3d.com

 

★☆☆☆☆

 

반응형

댓글