Повышение производительности при чтении файла с URL-адреса и записи его на диск - PullRequest
0 голосов
/ 30 апреля 2020

Я создал программу, которая получает доступ к некоторым URL-адресам и загружает оттуда PDF-файлы. Файлы варьируются от 2 до 40 МБ. Программа работает без проблем но есть ли способ улучшить производительность на этом? Для больших файлов это занимает много времени.

Код ниже - тот, который используется для чтения / записи файла. Это вызвано в for l oop с другим fileNameURLPath.

@Override
    public void downloadFile(String fileNameURLPath, String titleCellValue) throws FileException {

        try (BufferedInputStream inputStream 
                = new BufferedInputStream(new URL(fileNameURLPath).openStream())){
            FileOutputStream fileOS = new FileOutputStream(FileConstants.MandatoryDownloadProperties.path + titleCellValue + ".pdf");
            byte data[] = new byte[32*1024];
            int byteContent;
            while((byteContent = inputStream.read(data,0 , data.length)) != -1) {   
                fileOS.write(data, 0 , byteContent);
            }
            inputStream.close();
            fileOS.close();
        } catch (MalformedURLException e) {
            throw new FileException("Error while processing url. Make sure it is correct");
        } catch (IOException e) {
            throw new FileException("Error while downloading file. Make sure the download path is correct");
        }

    }

Я читал кое-что о Java NIO, но я не мог понять это, или если это может помочь мне в этой ситуации

...