Spring Boot приложение. Вызываю в нем командную строку:
Runtime.getRuntime().exec(command,null,directory)
Где directory
это должен быть File("path to folder")
. В папке resources
лежит папка с файлами, из которой собственно и нужно запустить команду.
Вопрос в том как правильно передать directory
во время выполнения, если это приложение собирается в executable jar и будет запускаться просто из командной строки.
File directory = new File(getClass().getResource("resources/directory").toExternalForm());
Runtime.getRuntime().exec(command,null,directory);
Так не работает.
Думаю вам это должно помочь:
@Service
public class YuorService {
private static final String PATH = "/file.txt";
private String data;
@PostConstruct
public void init() throws IOException {
InputStream inputStream = getClass().getResourceAsStream(PATH);
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
data = bufferedReader.lines().collect(Collectors.joining());
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
}
}
Еще есть такой вариант:
@Service
public class YourService {
private static final String SRC = "src";
private static final String[] PATH_TO_FILE = {"main", "resources", "file.txt"};
private File file;
@PostConstruct
public void init() {
Path path = Paths.get(SRC, PATH_TO_FILE);
logFile = new File(path.toUri().getPath());
}
}
Воспользуйтесь специализированным классом ClassPathResource
ClassPathResource imgFile = new ClassPathResource("/META-INF/resources/static/image/",
Thread.currentThread().getContextClassLoader());
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо отфильтровать список пользователей по списку параметров, пример
Возникла проблема с парсером JSON с помощью класса JsonReader (JSON приложен ниже, а так-же код парсера)Получается что первый элемент он читает хорошо,...