我正在使用java,目前,我可以从互联网上下载文本文件,读取该文件,然后将该文件发送到Scanner
。是否可以跳过将其写入硬盘并将其直接发送到扫描仪?我试过更改一些代码,但它没有用。
URL link = new URL("http://shayconcepts.com/programming/ComicDownloader/version.txt");
ReadableByteChannel rbc = Channels.newChannel(link.openStream());//Gets the html page
FileOutputStream fos = new FileOutputStream("version.txt");//Creates the output name of the output file to be saved to the computer
fos.getChannel().transferFrom(rbc, 0, 1 << 24);
fos.close();
Scanner sc = new Scanner(new FileReader("version.txt"));
答案 0 :(得分:2)
是的,这绝对是可能的。就像你说的那样:将URL从获得的输入流直接送入扫描仪。
Scanner sc = new Scanner(link.openStream());
它也是constructor taking an input stream。它接受charset as 2nd argument的方式,如果文本文件可能使用与平台默认编码不同的字符编码,则可能需要使用它,否则您可能会冒Mojibake的风险。
Scanner sc = new Scanner(link.openStream(), "UTF-8");