Я искал, но не могу понять, как написать код Java, который принимает в качестве входных данных строку, содержащую подстановочный знак (звездочка), и выводит строку с шаблоном решена.Как разрешить файл подстановочных знаков с помощью Java 7
У меня есть особая ситуация, когда я знаю, что есть 1 или 0 соответствующих спецификаций файлов, поэтому я хотел бы, чтобы возвращаемая строка была допустимым спецификатором или нулевым.
У меня есть пример кода для работы с Files.walkFileTree(), но он не делает именно то, что я хочу. Я хочу, чтобы получить resollved имя файла обратно в виде строки, которые я могу использовать в последующем коде ...
Я просто хочу, чтобы передать код в строку имя файла, который включает звездочку
e.g.: input this String: filename*.tr
и, наоборот, получали Строка с звездочкой разрешен к 1-му соответствия файла (или нуль):
e.g.: get back this String: filename_201402041230.tr
каталог, в котором эти файлы находятся содержит несколько тысяч файлов, поэтому перебирает все файлы в каталоге и разбора имен сам не является привлекательный вариант.
Любые помощь или указатели будут очень признательны.
Извините за вспышку ... Спасибо за подсказку ... Вот что я пытался раньше: Однако, как я уже сказал, это не то, что я хочу, но это как можно ближе к моему ИССЛЕДОВАНИЮ ,
Path startDir = Paths.get("C:\\huge_dir");
String pattern = "filename*.tr";
FileSystem fs = FileSystems.getDefault();
final PathMatcher matcher = fs.getPathMatcher("glob:" + pattern);
FileVisitor<Path> matcherVisitor = new SimpleFileVisitor<Path>()
{
@Override public FileVisitResult visitFile(Path file, BasicFileAttributes attribs)
{
Path name = file.getFileName();
if (matcher.matches(name))
System.out.println(file);
return FileVisitResult.TERMINATE;
}
};
try
{
Files.walkFileTree(startDir, matcherVisitor);
}
catch (Exception e){System.out.println(e);}
Добавьте свой образец кода, чтобы люди могли видеть, что вы пробовали и где вы собираетесь не так. Я не сделал этого, но я думаю, что кто-то еще, возможно, сделал это, потому что это звучит так, будто вы написали свое домашнее задание здесь. – RacerNerd
Ну, я не хотел показывать свой текущий код, так как это своего рода дикая охота за гусями, поскольку он не делает то, что я хочу, это просто печать всех файлов, которые соответствуют, вместо того, чтобы возвращать строку, которую я могу использовать позже моя логика. – user3380152
Однако, если это полезно, вот оно: – user3380152