을 삭제합니다. 그러나 예를 들어 파일 "abc"에서 "ABC"로 이름을 바꾸려고하면 파일이 삭제됩니다. 필자는 파일 이름이 insensitve라는 문제가 있다고 생각합니다 (최소한 Desktop, Windows에서는). 이 (코드에서 나는 왼쪽 주석) 위에서 언급 한 방법의 구현 :LibGDX 파일 핸들 : 파일의 이름을 변경하면 내가 <p><code>FileHandle#moveTo(FileHandle dest)</code></p> <p>그것은 대부분의 경우 잘 작동</p>을 사용하여 파일의 이름을 변경하려면 파일
public void moveTo (FileHandle dest) {
if (type == FileType.Classpath) throw new GdxRuntimeException("Cannot move a classpath file: " + file);
if (type == FileType.Internal) throw new GdxRuntimeException("Cannot move an internal file: " + file);
copyTo(dest); // file is not copied into another file, since "abc" file is the same as the dest "ABC" file
delete(); // and here the "original" file is deleted, but in this case original file equals to dest file, so the file is lost
if (exists() && isDirectory()) deleteDirectory();
}
질문 :
1) 그런 행동은 의도적인가? 솔직히, 그것은 틀린 느낌입니다. 올바른 방법은 무엇인가,
FileHandle src = ...;
FileHandle dest = ...;
src.file().renameTo(dest.file());
그렇지 않은 경우 :
2)은 (는이 경우에 작동하지만, 어쩌면 또 다른주의 사항이있다) 이런 식으로 이름을 변경 할 됐나요? @exenza 제안으로
업데이트
는, Windows의 LibGDX의 이슈 트래커
데스크톱 응용 프로그램은 어떤 OS에서 작동합니까? 안드로이드 나 리눅스에서'moveTo' 메쏘드는 "abc"! = "ABC"처럼 잘 동작 할 것입니다. Windows는 파일 이름에 대소 문자를 구별하지 않으므로 afaik – exenza
데스크탑 OS는 Windows입니다. 언급하는 것을 잊었습니다. 네, 안드로이드에는 아무런 문제가 없습니다. 그러나 여전히 옳다고 느끼지는 않습니다. 그러한 방법으로 어떤 플랫폼에서든 동작을 기대하지 않아야합니까? – Arctic45
필자의 견해로는 LibGDX 운영 체제에서 지원하는 모든 동작이 동일해야합니다. 최소한 Windows에서 파일을 삭제해서는 안됩니다. imho. 질문/버그 [LibGDX 문제 추적기] (https://github.com/libgdx/libgdx/issues)를 제기하는 것이 좋습니다. 그럴 경우 여기에 참조를 게시하십시오 – exenza