Я пытался сопоставить файлы в каталоге, в имени которого было две точки, что-то вроде theme.default.properties
Я думал, что шаблон .\\..\\..
должен быть требуемым шаблоном [.
соответствует любому символу, а \.
соответствует dot
], но он соответствует oneTwo.txt
и theme.default.properties
Я попробовал следующее:
[resources/themes
имеет два файла oneTwo.txt
и theme.default.properties
]
1.
public static void loadThemes()
{
File themeDirectory = new File("resources/themes");
if(themeDirectory.exists())
{
File[] themeFiles = themeDirectory.listFiles();
for(File themeFile : themeFiles)
{
if(themeFile.getName().matches(".\\..\\.."))
{
System.out.println(themeFile.getName());
}
}
}
}
Это ничего не печатает
и следующие
File[] themeFiles = themeDirectory.listFiles(new FilenameFilter()
{
public boolean accept(File dir, String name)
{
return name.matches(".\\..\\..");
}
});
for (File file : themeFiles)
{
System.out.println(file.getName());
}
печатает оба
oneTwo.txt
theme.default.properties
Я не могу найти, почему эти два дают разные результаты и какой шаблон я должен использовать, чтобы соответствовать двум точкам ...
Может кто-нибудь помочь?