Как я могу получить имя файла и путь в Java? - PullRequest
4 голосов
/ 16 февраля 2012

У меня есть zip-файл в каталоге, динамически изменяющий его имя.когда я нажимаю на кнопку, я получаю полный путь к этому файлу и его имя: U:\home\ash\dfi\dfiZipedFile\dfi.zip

public static String getFileFullName(BcfiDownloadPanel bcfiDownloadPanel) {
    File dir = new File("U:\\home\\ash\\dfi\\dfiZipedFile");

    String[] filesList = dir.list();
    if (filesList == null) {
        // Either dir does not exist or is not a directory
    } else {
        for (int i = 0; i < filesList.length; i++) {
            // Get filename of file or directory
            String filename = filesList[i];
        }
    }
    String fileFullName = filesList[0];

    return fileFullName;
}

Ответы [ 3 ]

4 голосов
/ 16 февраля 2012
public static String getFirstZipFilename(File dir) {        
    for (File file : dir.listFiles()) {
        String filePath = file.getPath();
        if (file.isFile() && filePath.endsWith(".zip")) {
            return filePath;
        }
    }

    return null;
}
  • Работает с любым каталогом (попробуйте сделать ваши служебные методы универсальными ...)
  • Возвращается, как только найден правильный файл (без бесполезных тестов)
  • Возвращает ноль, если ничего не было найдено, так что вы можете знать это и отображать предупреждающие сообщения
3 голосов
/ 16 февраля 2012

Что-то вроде

String ret = null;

File dir = new File("U:/home/ash/dfi/dfiZipedFile");
File[] files = dir.listFiles();
for (File file : files)
{
  if (!file.isDirectory())
  {
    ret = file.getPath();
    break;
  }
}

return ret;

возвращает полный путь к первому файлу в каталоге.

1 голос
/ 16 февраля 2012

Я был бы ошеломлен, если бы этот код работал.

Вы должны заменить \ на \\ в имени файла.

...