В приведенном ниже коде я пишу файл с именем employee_status_downloader_unixtimestamp.csv
в уже созданный каталог на сервере RHEL, как показано в этой строке кода ниже:
FileWriter fw = new FileWriter("/srv/file_users/JACK/employee_status_downloader_"+unixTimestamp+".csv");
Итак, я вручную создал папку с именем JACK
и указал указанный выше путь, чтобы файлы, связанные с userName
JACK
, находились внутри папки JACK
.
Поскольку userName
может отличаться, и я уже получаю userName
в моем методе sendMessage
, как показано ниже из этой строки кода String userName = parts[1].trim();
, мне интересно, смогу ли я использовать это
создать каталог на основе userName
?
Итак, я не использую System.getProperty("user.name");
здесь, так как я уже получаю userName
в моем методе, описанном выше, что, я считаю, достаточно для создания специального каталога.
Посмотрев онлайн, я обнаружил, что люди предлагают здесь (ответ Божо) сделать что-то вроде этого:
File fl = new File("/path/directory").mkdirs();
где каталог - это имя каталога, который я хочу создать / существовать. Но так как я использую FileWriter
выше, мне интересно, как мне использовать оба так, чтобы
Я мог бы также создать каталог, если он не существует, а затем записать файл в каталог.
public void sendMessage(String msg) throws DaoException {
String[] parts = msg.split("#");
String requestID = parts[0].trim();
String userName = parts[1].trim();
String applicationName = parts[2].trim();
logger.info("Request ID " + requestID);
logger.info("User Name " + userName);
logger.info("Application Name " + applicationName);
try {
FileWriter fw = new FileWriter("/srv/file_users/JACK/employee_status_downloader_" + unixTimestamp + ".csv");
CSVWriter writer = new CSVWriter(fw);
writer.writeAll(rsDemo, true);
writer.close();
fw.close();
} catch (Throwable th) {
throw new DaoException(th.getMessage(), th);
} finally {
}
}
long unixTimestamp = Instant.now().getEpochSecond();