자바에서 실행되는 응용 프로그램 (Mac 용)을 제작 중이며 자체 내용을 편집 할 수 있어야합니다. 어쨌든 응용 프로그램은 단지 영광스런 디렉토리 일 뿐이므로, 그 응용 프로그램을 사용하여 그 안에있는 내용을 변경할 수 있다고 가정했습니다. 그러나이 응용 프로그램은 배포 될 예정이며 사용자가 응용 프로그램을 배치 할 위치를 알지 못합니다. 현재 내가 작성한 모든 파일 참조는 File("path/from/user/to/application")
을 사용하고 있지만 사용자 홈 드라이브에서 응용 프로그램을 찾을 수 있다고 가정합니다. .app 파일의 저장 위치를 알지 못하는 방법이 있습니까? 응용 프로그램 내 내 현재 디렉토리 설정은 이것이다 :java - 응용 프로그램 자체를 어떻게 참조 할 수 있습니까?
app.app
Contents
|Info.plist
|PkgInfo
|---Resources
| |icon.icns
|
|---MacOS
| |JavaAppLauncher
|
|---Java
|---app.jar
|---package
|classFile.class
|---Folder
|FileToEdit.xml
그래서 찾아 읽기/app.app가 어디 있는지 모른 채 (classFile.class에 저장) 자바 코드 내에서 FileToEdit.xml를 변경하는 방법이 있나요?
"경로"를 얻을 수도 있지만 변경할 수있는 파일 시스템에 의해 백업된다는 보장은 없습니다. Java 응용 프로그램은 WAR 파일 또는 읽기 전용 네트워크에서 실행할 수 있습니다. 이 방법으로 작동하는 앱을 작성하는 것은 매우 약해질 수 있습니다. –
응용 프로그램이 변경 될 수있는 데이터는 아마도 응용 프로그램 자체가 아니라'~/Library'의 어딘가에 속할 것입니다. – chepner
내가하려는 것은 비교적 간단합니다. 예를 들어 Mac에서 파일 데이터를 앱 내부에 저장하는 게임을 보았습니다. 제가하려고하는 것은 이것과 비슷합니다. – zigzaugg