本文共 1443 字,大约阅读时间需要 4 分钟。
java.io.File 用于表示文件(目录),也就是说程序员可以通过 File 类在程序中操作硬盘上的文件和 目录。
File 类只用于表示文件(目录)的信息(名称、大小等),不能对文件的内容进行访问。
RandomAccessFile 类是 Java 提供的功能丰富的文件内容访问类,它提供了众多方法来访问文件 内容,既可以读取文件内容,也可以向文件输出数据,RandomAccessFile 支持“随机访问”方式,可 以访问文件的任意位置。
将类型 int 转换为 4 byte,或将其它数据类型(如 long -> 8 byte)的过程,即将数据转换 为 n 个 byte 序列叫序列化(数据 -> n byte)。
反序列化,将 n byte 转换为一个数据的过程(n byte -> 数据)。
Java 中的 IO 流是实现输入/输出的基础。InputStream、OutputStream 都是抽象类。InputStream抽象了应用程序读取数据的方式。OutputStream抽象类应用程序写出数据的方式。
文件输出流(FileOutputStream)的构造器,如果没有文件, 会自劢的创建文件! 输出时默认是覆盖这个文件内容,如果需要追加内容,需要使用新的构造器:boolean append = true;new FileOutputStream(file, append);
***文件流FileInputStream、缓冲流BuffedInputStream、过滤流DataInputStream:
DataInputStream 是对基本输入流(InputStream)功能的扩展,它提供基本类型的输入方法, 就 是基本类型的反序列化,DataInputStream 是过滤器,只是功能扩展,不能直接读取文件。
BuffedInputStream可以提高流的传输速度;
***字符流:InputStreamReader 完成 byte 流解析为 char 流, 按照编码解析。OutputStreamWriter 提供 char 流到 byte 流, 按照编码处理。字符流的过滤器 BufferedReader:BufferedReader : readLine() 一次读取一行和PrintWriter: println() 一次打印一行
//使用URL读取网页内容 2 //创建一个URL实例 3 URL url =new URL("http://www.baidu.com"); 4 InputStream is = url.openStream();//通过openStream方法获取资源的字节输入流 5 InputStreamReader isr =newInputStreamReader(is,"UTF-8");//将字节输入流转换为字符输入流,如果不指定编码,中文可能会出现乱码 6 BufferedReader br =newBufferedReader(isr);//为字符输入流添加缓冲,提高读取效率 7 String data = br.readLine();//读取数据 8 while(data!=null){ 9 System.out.println(data);//输出数据10 data = br.readerLine();11 }12 br.close();13 isr.colose();14 is.close();