我想从流中读取文本和二进制文件,其中流可以是文件或URL连接。两个流都具有相同的格式,其中有一个ASCII文本标题,后跟一个大的二进制数据块。我正在使用DataInputStream来执行此操作。对于文件,我正在使用
DataInputStream dis = new DataInputStream(new FileInputStream(new File("test")));
对于URL,我正在使用(其中uc被初始化为指向URL):
DataInputStream dis = new DataInputStream(new BufferedInputStream(uc.getInputStream()));
设置DataInputStream之后,我按照:
进行操作dis.readLine()
dis.read(buf);
这有效,但我注意到readLine是depecrated(即使有posts引用它)。因为我的文字是ASCII,所以继续使用它是否可以?如果这不是一个好主意,并且我使用JDK建议使用BufferedReader,有没有办法同时访问文本和二进制文件?我尝试使用BufferedReader来获取文本标题,但是在使用底层流时我得到的二进制数据不正确,可能是因为其中一些已经被消耗了。
答案 0 :(得分:0)
它被弃用的原因是未能将字节正确转换为字符。由于此示例仅限于ASCII,因此使用它没有问题。