Открытие файла на Java в каталоге, указанном подстановочными символами - PullRequest
0 голосов
/ 22 сентября 2011

Можно ли в Java указать каталог с помощью подстановочного знака при попытке создать объект файла, как показано ниже?

File newFile = new File("\temp\*\path");

В этом случае каталог создается какой-то другой частьюкод, к которому у меня нет доступа, который ставит отметку времени в имени.Таким образом, проблема будет решена, если я смогу поставить * вместо временной метки, например

 File newFile = new File("\temp\dirname-*\path");  // * is timestamp when directory was created.

Спасибо за любую помощь.

Ответы [ 3 ]

1 голос
/ 22 сентября 2011

Создание, как вы описали, невозможно. Однако возможно написать алгоритм для поиска файла, который соответствует описанию. В вашем случае вы захотите создать new File("temp"), а затем рекурсивно искать его дочерние элементы (используя listFiles для любого файла, метод которого isDirectory возвращает true) для файла с именем "path".

1 голос
/ 22 сентября 2011

Если вы программист, вы должны узнать, что утверждения типа «Я уверен, что в этом месте существует один каталог» будут истинными, пока они не будут ложными (и они будут ложными в некоторых точка).

Выполните работу для поиска в \temp\, убедитесь, что существует только один каталог, затем откройте файл с правильным путем. Затем, когда предварительное условие не выполняется, вы можете вызвать исключение или отобразить сообщение.

0 голосов
/ 22 сентября 2011

Нет, в именах файлов в Java нельзя использовать подстановочные знаки.

Вам нужно будет самостоятельно решить путь, но это не сложно.

Вы можете найти

new java.io.File("/tmp").listFiles();

интересное место для начала.

...