Перечисление вложения без загрузки с помощью API Java - PullRequest
0 голосов
/ 02 мая 2011

Я разрабатываю почтовый клиент java, используя javamail api.Мне нужно получить список вложений, не выбирая его.Сначала я покажу список вложений, а затем по щелчку на определенном вложении получу данные.В настоящее время я могу получить имя всех вложений, но это занимает слишком много времени, так как я думаю, что мой код также извлекает данные вложений.Мой код такой, как показано ниже

private void getAttachmentList(Part part, List list) throws Exception{
    Object content = part.getContent();
    if(content instanceof Multipart){
        Multipart multiPart = (Multipart)content;
        int no_of_part = multiPart.getCount();

        for(int i=0; i<no_of_part; i++){
            getAttachmentList(multiPart.getBodyPart(i), list);
        }
    }else{
        String disposition = part.getDisposition();

        if (disposition != null && disposition.equalsIgnoreCase(Part.ATTACHMENT)) {
            String fileName = part.getFileName();
            if(fileName != null){
                list.add(fileName);
            }
        } 

    }
}

Я проверил этот код с моей учетной записью Gmail, и у меня много времени, если в моей почте огромные вложения.Любая помощь приветствуется.Заранее спасибо

1 Ответ

0 голосов
/ 22 июля 2011

Использует ли это приложение POP или IMAP?

Если он использует POP, измените его для использования IMAP.Последнее, вероятно, может быть быстрее, поскольку загружает только заголовки.

...