Как я могу создать Scala XMLEventReader, который читает из stdin?

Я хочу, чтобы иметь возможность передавать XML-файл в программу и читать его с помощью XMLEventReader . Единственный конструктор, который я могу найти для XMLEventReader использует Source как параметр, но scala.io.StdIn не является Source и я не могу найти способ превратить его в Source . Можно ли это сделать, и если да, то как?

Всего 2 ответа


Вы можете использовать java.lang.System.in как InputStream или scala.Console.in как BufferedReader . Предпочитайте последнее, потому что его можно легко модифицировать в тестах (используя Console.withIn ).

import javax.xml.transform.stream.StreamSource

val source = new StreamSource(Console.in)

Вы можете использовать StreamSource, который вы можете создать из InputStream или Reader.