достойного.
                  
                  
                  
                  
                  
                  Вопрос: как мне получить путь к resources папке и чтобы это все дружилось с jar? 
                  
                  
                  Задача: создать файл-картинку в resources папке.
                  
                  
                  
                  
                  
                  Самого файла не существует, т.е getResource и подобные мы отбрасываем (это так?).
                  
                  
                  Т.е в идеале просто получить путь до resources, конкатенировать с именем файла и затем создать его.
                  
                  
                  
                  
                  
                  Реализация: 
                  
                  
                  val artExtension = "jpeg"
                  
                  
                  val pathToArt = "<тут путь до resources>/art.$artExtension"
                  
                  
                  
                  
                  
                  val art = File(pathToArt)
                  
                  
                  val artContent = pixelateImage(originalImage)
                  
                  
                  
                  
                  
                  ImageIO.write(artContent, artExtension, art)
                  
                  
                  
                  
                  
                  Смог нагуглить лишь про this::class.java.getResource, но он возвращает null, так как файла нет (логично). Пробовал вызвать как this::class.java.getResource("/"), но корень resources кажись возвращать не умеет. Ещё нагуглил про System.getProperty("java.class.path"), но он возвращает <name>.jar, а это явно не то что мне надо.
                  
                  
                
Внутри существующего jar создать что ли? Думаю что никак
Внутри существующего jar создать можно, его надо открыть как зип, и писать туда как в зип файл. Вопрос зачем так делать. Скорее всего не надо.
И от этого его станет возможно увидеть через getResource без перезагрузки приложения? Думаю что нет. Это даже отвлекаясь от того вопроса, что jar может быть недоступен процессу на запись.
я вообще не очень понимаю зачем писать файл чтобы потом увидеть его через getResource()
Создавай в файловой системе, можно в .tmp директории
Я уже сделал класс для менеджмента resources, в случае если оно все крутится в jar, то в текущей директории (где .jar) создается resources папка, а иначе все происходит в src/main/resources. В итоге получается что-то вроде ResourceEntity("art.$artExtension").toFile()
А как можно иначе? Хранить все в абстрагированной от проекта директории, например в .tmp?
Обсуждают сегодня