Java核心技术 卷二

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java核心技术 卷二相关的知识,希望对你有一定的参考价值。

书:《Java核心技术 卷二 高级特性 9》

时间:2017.9.4 17:13

1.流

  输入流:可以从其中读取一个字节序列的对象;抽象类(InputStream)

  输出流:可以向其中写入一个字节序列的对象;抽象类(OutputStream)

    流的来源:文件、网络连接、内存块。

  面向字节,所以不方便处理Unicode信息(每个字符使用了多个字节)

    -->Reader & Writer   extends  流(实现两个字节字符)

  InputStream方法:

    abstract int read():读入一个字节,并返回读入的字节,结束时返回-1.子类需要覆写此方法。

    abstract int write(int b):向某个位置写出一个字节。

      note:这两个方法在执行时会阻塞线程,直到读入或写出完成。

    available:检查当前可读入的字节数量

    flush:将缓冲区的流输出。

  读写完成后必须调用close方法关闭流,否则若流过多,将耗尽操作系统资源。

  FIleInputStream & FileOutputStream可以提供附着在一个磁盘文件上的输入流和输出流。参数为文件名或完整路径名。

    使用System.getProperty("user.dir")获取当前路径

System.out.println(System.getProperty("user.dir")); --> D:\WorkSpace\Eclipse\IOTest

    完整路径时我们需要获取操作系统的操作符,比如windows下:

System.out.println(File.separator); --> /    

    也可以使用双反斜杠的写法:C:\\windows\\123.txt

一个基本的读文件程序:

import java.io.FileInputStream;

public class IOTest {

    public static void main(String[] args) {
        try {
            FileInputStream fileInputStream = new FileInputStream("D:\\WorkSpace\\Eclipse\\IOTest\\123.txt");
            int i = fileInputStream.available();
            for(int j=0;j<i;j++) {
                System.out.printf("%c",fileInputStream.read());
            }
            fileInputStream.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

 

以上是关于Java核心技术 卷二的主要内容,如果未能解决你的问题,请参考以下文章

《Java核心技术 卷1 基础知识》一

Java被忽略的基本知识

《java核心技术 卷1 基础知识》二

《Java核心技术 卷1 基础知识》七

Java核心技术·卷1

《Java核心技术 卷II 高级特性 原书第10版》高清pdf