Путь к файлу Java

я использую такой метод, чтобы найти файл, но мне пишет отказано при выполнении, да я могу просто сделать на прямую: С:\User...AppData.minecraft, но если я скину кому то свою "программу", то у него уже работать не будет, как быть помогите

   public static final File I() {
      String var0 = System.getProperty("os.name", "").toLowerCase();
      String var1 = System.getProperty("user.home", ".");
      if(var0.contains("win")) {
         String var2 = System.getenv("APPDATA");
         return var2 != null?new File(var2, ".minecraft"):new File(var1, ".minecraft");
      } else {
         return var0.contains("mac")?new File(var1, "Library/Application Support/minecraft"):new File(var1, ".minecraft/");
      }
   }

Ответы (1 шт):

Автор решения: Daniil

Если я правильно понял ваш вопрос, могу посоветовать один из вариантов - попробуйте использовать File.getCanonicalPath():

try {
    File f = new File("C:/aaa/bbb/ccc/ddd/excelFiles/test.xls");
    System.out.println(f.getCanonicalPath());
} catch (IOException e) {
    e.printStackTrace();
}
→ Ссылка