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核心技术 卷二的主要内容,如果未能解决你的问题,请参考以下文章