【问题标题】:java io in text and character files [duplicate]文本和字符文件中的java io [重复]
【发布时间】:2017-10-02 07:33:22
【问题描述】:

当我们可以在读/写文本文件(.txt)和字符文件(.doc,.pdf)中互换使用它们中的任何一个以及一些操作以获得所需的操作时,使用字节流和字符流有什么区别结果?

【问题讨论】:

    标签: java io stream


    【解决方案1】:

    Related answer on Stackoverflow

    TL;DR 版本:字节流以 8 位(1 字节)的固定单元读取文件。字符文件根据打开文件时指定的编码读取文件。

    【讨论】:

    • -基本上我的困惑是,如果我有 2 个文件,一个是 .txt(字节文件),另一个是 .doc(我想像 word 文档这样的字符文件)文件,我必须执行两个文件的读/写操作;那么我应该为每个文件使用什么机制(流类型,即读取器/写入器或输入流/输出流)。请帮助,我已经在 1 次考试中获得了较少的分数。
    【解决方案2】:

    流是一种顺序访问文件的方式。

    字节流逐字节访问文件。字节流适用于任何类型的文件,但不太适合文本文件。例如,如果文件使用 unicode 编码,并且一个字符用两个字节表示,则字节流将分别处理这些,您需要自己进行转换。

    字符流将逐个字符地读取文件。字符流需要被赋予文件的编码才能正常工作。

    【讨论】:

    • @Sreenath-基本上我的困惑是,如果我有 2 个文件,一个是 .txt(字节文件),另一个是 .doc(我想像 word 文档这样的字符文件)文件,我有对两个文件执行读/写操作;那么我应该为每个文件使用什么机制(流类型,即读取器/写入器或输入流/输出流)。请帮忙,我已经在 1 次考试中得到了较少的分数。
    • 两个动作分开做,txt文件使用FileReader/FileWriter,doc文件使用FileInputStream/FileOutputStream。
    • @Sreenath- 这意味着 .doc 文件是字节文件, .txt 文件是字符文件。只要告诉我我是否正确???
    • 一般来说每个文件都是一个二进制文件,但是如果里面的数据只包含文本(字母、数字等书写时会用到的符号),如果是由行组成的,那么我们认为一个文本文件(字符文件)。Microsoft word 文件(.doc)是一个二进制文件(字节文件),因为除了实际文本之外,它还包含表示字体大小和颜色的各种字符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2012-04-09
    • 1970-01-01
    相关资源
    最近更新 更多