2012-03-04 3 views
0

Я экспортирую объекты в сериализуемую форму в каталог, содержащий файлы src, build. существуют группы, которые делят начало своих имен файлов, например.Поиск имен файлов в каталоге

lounge - 1,0 
lounge - 2,4 
dining room - 3,5 
dining room - 4,6 
dining room 5,2 

Мне нужно составить список массивов всех групп, так что в этом случае массив, содержащий зал и столовую. Может ли кто-нибудь помочь?

ответ

0

Существует метод File.list(), который предоставит вам список всех имен файлов в каталоге. Прокрутите этот список и извлеките префиксы из каждого имени файла, поместите их в набор.

0

new File(dir).list() возвращает массив, содержащий все файлы в каталоге. Затем вы можете перебирать массив и проверять что-то вроде: file.getName().startsWith().

Вы также можете использовать FileFilter при вызове list(), но для каждого файла группы потребуется отдельный список вызовов.

+0

Спасибо. есть ли способ получить доступ к файлам в главном каталоге java без ввода заданного пути? только я хотел бы оставить эту платформу независимой ... –

+0

Вы можете использовать 'new File (" ./ src "). list();' например, чтобы получить содержимое каталога/src. –

0

Вы можете получить список файлов с помощью File.list(), а затем создать список уникальных префиксов путем добавления имен в HashSet, что-то вроде этого:

String[] fileList = new File("./src").list(); 
HashSet hset = new HashSet(); 
for(String s : fileList){ 
    hset.add(s.substring(0,s.length()-6));// assumes all names follow this pattern... 
} 
System.out.println(hset.toString()); 
Смежные вопросы