`
wutao8818
  • 浏览: 616398 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Character Streams

    博客分类:
  • io
阅读更多
Character Streams

http://java.sun.com/docs/books/tutorial/essential/io/charstreams.html

public class CopyCharacters {
    public static void main(String[] args) throws IOException {
        FileReader inputStream = null;
        FileWriter outputStream = null;

        try {
            inputStream = new FileReader("xanadu.txt");
            outputStream = new FileWriter("characteroutput.txt");

            int c;
            while ((c = inputStream.read()) != -1) {
                outputStream.write(c);
            }
        } finally {
            if (inputStream != null) {
                inputStream.close();
            }
            if (outputStream != null) {
                outputStream.close();
            }
        }
    }
}



  while ((c = inputStream.read()) != -1) {

Notice that both CopyBytes and CopyCharacters use an int variable to read to and write from. However, in CopyCharacters, the int variable holds a character value in its last 16 bits; in CopyBytes, the int variable holds a byte value in its last 8 bits.

注意加粗的那一部分。CopyBytes和CopyCharacters都用了这个int变量。但是在CopyCharacters里,这个变量字符的值 16 bit 位 也就是 2个 byte ,在CopyBytes里,这个int变量保存了1 byte值,在它的末8位,看来还是有区别的。。。。

Character streams are often "wrappers" for byte streams.

FileReader, for example, uses FileInputStream, while FileWriter uses FileOutputStream.
There are two general-purpose byte-to-character "bridge" streams: InputStreamReader and OutputStreamWriter. Use them to create character streams when there are no prepackaged character stream classes that meet your needs. The sockets lesson in the networking trail shows how to create character streams from the byte streams provided by socket classes.

InputStreamReader and OutputStreamWriter 就干这事。转包byte stream--> character stream  。sockets 那个url里有演示

http://java.sun.com/docs/books/tutorial/networking/index.html

Line-Oriented I/O

面向行的IO ??

line: a string of characters with a line terminator at the end. A line terminator can be a carriage-return/line-feed sequence ("\r\n"), a single carriage-return ("\r"), or a single line-feed ("\n").

行  \r\n \r \n  3种结束符号 。支持多种结束符。有利于多个平台使用

BufferedReader and PrintWriter. 这2个类有面向行的接口。。

public class CopyLines {
    public static void main(String[] args) throws IOException {
        BufferedReader inputStream = null;
        PrintWriter outputStream = null;

        try {
            inputStream = 
                new BufferedReader(new FileReader("xanadu.txt"));
            outputStream = 
                new PrintWriter(new FileWriter("characteroutput.txt"));

            String l;
            while ((l = inputStream.[b]readLine[/b]()) != null) {
                outputStream.println(l);
            }
        } finally {
            if (inputStream != null) {
                inputStream.close();
            }
            if (outputStream != null) {
                outputStream.close();
            }
        }
    }
}



outputStream.println(l);

Invoking readLine returns a line of text with the line CopyLines outputs each line using println, which appends the line terminator for the current operating system. This might not be the same line terminator that was used in the input file.

这段有点意思:注意调用readLine 返回读取文件中的一行。但是输出使用println会加入一个换行符,这个输出的换行符是有操作系统决定的,很可能与文件中这一行的终结符是不一样的。

There are many ways to structure text input and output beyond characters and lines. For more information, see Scanning and Formatting.

除了字符和行这2个操作结构文档的方法,还要很多方法。see Scanning and Formatting.

分享到:
评论

相关推荐

    javaIO流javaIO流javaIO流

    Java IO库包含了大量类和接口,它们分为四类主要流:字节流(Byte Streams)、字符流(Character Streams)、对象流(Object Streams)和套接字流(Socket Streams)。 1. 字节流:字节流处理单个字节的数据,包括...

    09_IOAndProperties_javaIO流_get9va_

    在Java中,IO流分为四类:字节流(Byte Streams)、字符流(Character Streams)、对象流(Object Streams)和缓冲流(Buffered Streams)。字节流处理的是8位的数据单元,而字符流处理的是16位的Unicode字符。对于...

    Java IO.pdf

    - 字符流(Character Streams) - 输入流(Input Streams) - 输出流(Output Streams) #### 二、基本概念 - **流(Stream)定义**:流是一种用于处理或传输数据的方式,Java 中的流可以是字符流也可以是字节流。 - **...

    Java_IO流详细讲解.doc

    Java的IO流主要分为两大类:字节流(Byte Streams)和字符流(Character Streams)。字节流包括InputStream和OutputStream家族,它们处理基本的8位字节数据。InputStream用于读取数据,OutputStream用于写入数据。...

    南邮Java课程实验-综合图形界面程序设计-小应用程序设计.zip

    它包括字符流(Character Streams)和字节流(Byte Streams),以及用于读写文件、网络通信的类。InputStream和OutputStream是字节流的基类,而Reader和Writer是字符流的基类。此外,还有缓冲流(Buffered Streams)...

    Java的输入 输出流PPT教案学习.pptx

    在Java中,I/O流分为三大类:字节流(Byte Streams)、字符流(Character Streams)以及数据流(Data Streams)。 1. 字节流: 字节流主要处理单个字节的数据,分为输入流和输出流。如`InputStream`和`OutputStream...

    java基础相关的思维导图

    Java提供了丰富的类库来支持不同的流类型,如字节流(Byte Streams)和字符流(Character Streams),以及输入流(InputStreams)和输出流(OutputStreams)。字节流适用于二进制数据,而字符流则用于处理文本数据。...

    java软件流

    流可以分为多种类型,包括但不限于字节流(Byte Streams)、字符流(Character Streams)等。 #### 二、字节流(Byte Streams) ##### 1. InputStream与OutputStream简介 - **InputStream**:用于从数据源读取...

    IO数据流与文件处理PPT教案.pptx

    Java的I/O系统基于层次化的类结构,主要分为两类:字节流(Byte Streams)和字符流(Character Streams)。字节流以8位字节为基本传输单位,而字符流以Unicode字符为单位。根据数据的流向,又分为输入流和输出流。...

    Java中字节流与字符流的区别.pdf

    流分为两种主要类型:字节流(Byte Streams)和字符流(Character Streams),它们各自处理数据的方式不同,适用于不同的场景。 字节流是最基础的流类型,主要用于处理二进制数据,如图像、音频文件或任何非文本...

    哈尔滨工业大学计算机系代亚非PPT优秀资料.ppt

    3. **字符与字节流**:Java的输入输出流分为字符流(Character Streams)和字节流(Byte Streams)。字符流处理单个字符,而字节流处理原始字节数据。在处理字符时,需要注意字符编码可能导致的乱码问题,需要正确...

    Java文件操作案例源码.rar

    4. **字符流(Character Streams)**: - `Reader`和`Writer`是所有字符输入和输出流的基类。` FileReader`和`FileWriter`是它们的子类,专门用于读写文件中的字符数据。 - `BufferedReader`和`BufferedWriter`...

    java基础学习与复习

    Java提供了丰富的I/O类库,包括字节流(Byte Streams)和字符流(Character Streams)。字节流处理原始字节数据,如图片、音频或二进制文件,而字符流则针对文本数据,确保字符编码的正确处理。字节流分为输入流和...

    Java学习资料-输入输出流

    Java中的I/O流分为四类:字节流(Byte Streams)和字符流(Character Streams),以及节点流(Stream Nodes)和处理流(Stream Filters)。在学习输入/输出流时,了解这些分类及其用途至关重要。 1. **字节流和字符...

    java输入输出流学生成绩管理

    Java I/O流分为四大类:字节流(Byte Streams)、字符流(Character Streams)、对象流(Object Streams)和缓冲流(Buffered Streams)。字节流处理单个字节的数据,而字符流处理Unicode字符。对象流允许序列化和反...

    第8章JavaIO第8章JavaIO第8章JavaIO第8章JavaIO第8章JavaIO第8章JavaIO

    I/O流分为两大类:字节流(Byte Streams)和字符流(Character Streams)。字节流处理8位字节的数据,而字符流处理16位Unicode字符。java.io包包含了大量类来支持这两种类型的流。 8.1.1 Java I/O流的类层次结构 ...

    Java文件切割器源代码.7z

    1. **Java IO流**:Java的IO流提供了读写文件的基础,包括字节流(Byte Streams)和字符流(Character Streams)。在切割文件时,我们通常使用字节流,如FileInputStream和FileOutputStream,因为它们能处理二进制...

    Java输入、输出流 、介绍

    2. **字符流(Character Streams)** - 字符流处理单个16位Unicode字符,适合文本数据的传输。Java中的字符流主要有两个基类:`Reader`和`Writer`。`Reader`用于读取字符,`Writer`用于写入字符。例如,`...

    海运报表数据处理(纯JAVA)

    2. **流(Stream)**:Java中的I/O流是处理输入/输出的核心工具,包括字节流(Byte Streams)和字符流(Character Streams),以及装饰器模式下的缓冲流、转换流、对象流等。在本项目中,流被用来读取、写入文件,...

Global site tag (gtag.js) - Google Analytics