Как подготовить файлы в подкаталогах даты, указанных в общем домашнем каталоге - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь получить доступ к файлам в каждом подкаталоге даты.Под каждой датой у меня есть файлы, которые должны быть перечислены по шаблонам файлов.

Я попытался запустить это ниже, но мне не удалось.По шаблону подкаталога это что-то вроде этого / home / user / data / .. По дате у меня есть подкаталог 20190201 20190202

20190201, в котором есть файлы типа

log 20190201abc.csv log 20190201def.csv

В подкаталоге

20190202 есть такие файлы, как

log 20190202abc.csv log 20190202def.csv

Мой ожидаемый результат - код должен зацикливаться в каждом подкаталоге и возвращать мне имена файлов.

Может кто-нибудь, пожалуйста, помогите мне.

public List getFileListSftp () throws SftpException {Vector dirlist = channelSftp.ls (sftpDirectory);

    for(LsEntry direntry : dirlist)
    {

        if (direntry.getAttrs().isDir())
        {
            String direntryString = direntry.toString();
            logger.info("directory list" +direntryString);
            System.out.println("its a directory");
            channelSftp.cd(sftpDirectory + "/" + direntryString);



            Vector<ChannelSftp.LsEntry> filelist = channelSftp.ls(filePattern);
            List<ChannelSftp.LsEntry> lsEntry = Collections.list(filelist.elements());
            List<String> files = Lists.transform(lsEntry, entry -> entry.getFilename());
            logger.info(files);         
        }
        else
        {
            Vector<ChannelSftp.LsEntry> filelist = channelSftp.ls(filePattern);
            List<ChannelSftp.LsEntry> lsEntry = Collections.list(filelist.elements());
            List<String> files = Lists.transform(lsEntry, entry -> entry.getFilename());
            logger.info(files);
        }

    }
    return files;
...