Я хочу сделать импорт, который просматривает папку и циклически проходит через найденные там файлы, а затем импортирует материал.Как перебирать файлы внутри папки, зная только имя папки?
В моем проекте у меня есть папка под src/main/resources, но в фактическом банке она будет упакована как папка в корневой каталог (не внутри папки ресурсов), поэтому я не знаю, как получить папку путь, дающий только его имя.
Я попытался через getResources и передал имя папки как строку, а также попробовал что-то вроде File folderPath = new File("./import")
(чтобы использовать относительный путь), но это тоже не сработало.
Разница между предлагаемой должности и моя в том, что там, что путь к папке известно (это фиксированное жёстко место) Мне нужно найти, что на основе загрузки классов или нечто подобное
Ниже код, который я с использованием
public static final String IMPORT_FILES_LOCATION ="import"; //folder name
Enumeration<URL> folderURL = null;
try {
folderURL = getClass().getClassLoader().getResources(IMPORT_FILES_LOCATION);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (folderURL != null && folderURL.hasMoreElements()) {
File folderFile = new File(folderURL.nextElement().getPath());
File[] filesToImport = folderFile.listFiles();
if(filesToImport.length > 0) {
for (File fileToImport : filesToImport) {
System.out.println("import stuff");
}
}
}
Любые идеи/предложения?
Благодаря
Возможный дубликат [Читать все файлы в папке] (http://stackoverflow.com/questions/1844688/read-all-files-in-a-folder) – aribeiro
Его проблема немного сложнее, чем что при условии, что папка не обязательно является известным путем на HD, а скорее ресурсом pathpath. OP, вы были на правильном пути с 'getResources()'. Не могли бы вы опубликовать код, который вы использовали, когда пытались это сделать? – rmlan
Как упоминалось выше, моя проблема отличается. Если вы посмотрите на другой пост, он знает путь к папке (он жестко запрограммирован). Мне нужно решение, которое найдет эту папку на основе ее имени – Viocartman