Java 字节流到字符流的实际用途是什么

Java 字节流到字符流的实际用途是什么,java,Java,以下二进制文件代码的实际用途是什么-将字节流转换为字符流: InputStream in = new FileInputStream("E:\\Users\\17496382.WUDIP\\Desktop\\jio.doc"); InputStreamReader ir = new InputStreamReader(in,"UTF8"); BufferedReader br=new BufferedReader(ir); String s; while((s=br.readLine())!=

以下二进制文件代码的实际用途是什么-将字节流转换为字符流:

InputStream in = new FileInputStream("E:\\Users\\17496382.WUDIP\\Desktop\\jio.doc");
InputStreamReader ir = new InputStreamReader(in,"UTF8");
BufferedReader br=new BufferedReader(ir);
String s;
while((s=br.readLine())!= null){
System.out.println(s);  

word文档除了文本之外还包含二进制元数据。你可以清楚地看到,这是你试图用记事本打开文件。你需要一个这样的图书馆。查看如何正确阅读MS Word文档

当您说打开
文件InputStream
并在其上使用
InputStreamReader
将其用作
阅读器
的实例没有什么价值时,您是正确的。使用
FileReader
同样可以轻松打开文件

如果我理解你的问题,你会问“InputStreamReader有什么用?”简短的回答是除了
FileInputStream
之外,还有许多其他类的实例扩展了
InputStream
。如果您需要一个
读取器
,而您所拥有的只是
InputStream
的一个实例,那么您可以使用
InputStreamReader
来包装它

有关扩展
InputStreamReader
的某些类,请参阅


(但是,这些都与读取Microsoft Word文件的能力毫无关系。)

huh??你看过链接了吗?看过。修改了原来的问题。谢谢你的回答你不明白。无法通过Java InputStream读取MS Word文档。你必须使用我在回答中提到的图书馆。InputStreamReader ir=新的InputStreamReader(在“UTF8”中)的实际用途是什么;(字节流到字符流的具体操作在这里完成)好吧,这是一个事实:Word文档的数据存储格式充满了元数据,这些元数据向Word软件描述文档。为了完全解码Word文档,您需要执行以下操作之一:1)使用能够解码存储格式的库,并以更易于使用的形式将其呈现给您;或者2)查找有关存储格式的文档并编写自己的自定义文件流。没有关于MS Word格式的文档。这是受版权法保护的封闭源代码。InputStreamReader ir=新的InputStreamReader(在“UTF8”中)的实际用途是什么;(这里字节流到字符流的具体操作)@Senthil您可以使用这种方法读取文本文件。尝试使用Windows记事本以UTF-8格式保存文本文件。您应该能够用上面的代码片段对其进行解码。但是,代码段无法解码非文本文件。例如,对于响应,它可以不解码
.jpg
文件或
.doc
files.tx,如果它只是文本文件,我可以直接使用FileReader读取文件(如果我想使用字符集,则使用NIO缓冲读取器提及字符集)。无法理解我应该在什么scnerio下使用-InputStreamReader ir=新的InputStreamReader(在“UTF8”中);好的,你的意思是…例如,当我们有URL作为inputstream并希望在屏幕上读取它时,我们可以使用inputstreamreader并使用Reader来读取它。有些东西使用字节流,有些使用字符流。有时你需要从一个转换到另一个。这几乎是关于它的全部内容。