Java 9 - URL InputStream и сохранение в файл с потоком замораживания приложения OutputStream - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь сохранить ответ от URL в файле с InputStream и OutputStream java. После загрузки X байт программа зависла, ни ошибки, ни исключения, ничего. Я попытался с большим количеством решения (байт буфера Outputstream, но все решения, которые любят, дают мне ту же самую проблему). Возможно, это может быть вызвано тем, что удаленный сервер не отвечает через некоторое время. Но у меня нет ошибок и исключений.

Этот базовый c пример замораживания:

try (InputStream in = new URL("http://192.168.1.1:81//proc/kcore").openStream();
         OutputStream out = Files.newOutputStream(Paths.get("output.txt"))) {

        // convert input stream to output stream
        long length = in.transferTo(out);

        System.out.println("Bytes transferred: " + length);

    } catch (IOException ex) {
        ex.printStackTrace();
    }

Программа загружает около 2500 байт, чем замораживается. Нет ошибок и нет исключений.

Есть идеи? Спасибо всем !!

1 Ответ

0 голосов
/ 23 марта 2020

Извините @Progman, в следующий раз я напишу правильно и спасибо Джони, наконец-то я нашел решение, используя Apache Commons IO - FileUtils

 try {
            FileUtils.copyURLToFile(
                    new URL(myUrl),
                    new File(input.getFilename()),
                    3000,
                    3000);
        }catch (SocketTimeoutException ex)
        {
            System.out.println("SocketTimeoutException" );

        }

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...