Как мне создать файл XML из URL - PullRequest
0 голосов
/ 18 января 2019

Для проекта мне нужно проанализировать файл XML. Сам по себе синтаксический анализ работает с файлом, но мне нужно извлечь файл из URL. Как сохранить информацию из URL в файл?

Я уже попробовал многие ответы, представленные здесь, но с тех пор ни один из них не работал так, как мне бы хотелось. Один из ответов, который я попробовал, был следующий:

public File createFile(URL url){
    File f;
    try {
      f = new File(url.toURI());
    } catch(URISyntaxException e) {
      f = new File(url.getPath());
    }
    return f;
}

К сожалению, это не решает проблему, а скорее говорит мне, что "схема URI не является" файлом ""

Если бы кто-нибудь мог помочь мне с моей проблемой, я был бы очень благодарен.

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Используя Java IO, это сохранит его в файл target.xml:

public File createFile(URL url) throws IOException {

    File f = new File("C:\\Users\\my-user\\Desktop\\target.xml");

    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

    OutputStream outStream = new FileOutputStream(f);
    String inputLine;
    while ((inputLine = in.readLine()) != null) {
        outStream.write(inputLine.getBytes());
    }

    outStream.close();
    in.close();

    return f;
}
0 голосов
/ 18 января 2019

Я рекомендую вам использовать библиотеку Apache Commons IO для извлечения содержимого вашего URL, вы можете сделать это всего одной строкой:

IOUtils.toString(new URL("YOUR_URL_IN_HERE"), "UTF-8");

Это преобразует содержимое вашего URL в String, после чего вы можете записать содержимое в файл или обработать содержимое в любом другом потоке, который хотите.

Здесь вы можете найти документы IOUtils

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