流与文件

资料参考:http://www.cnblogs.com/shitouer/archive/2012/12/19/2823641.html

  1. 如何访问文件与目录
  2. 如何以二进制格式和文本格式读写数据
  3. 对象序列化,如何使存储对象就像存储文本和数值数据一样容易
  4. 正则

如何以二进制格式和文本格式读写数据

   > 1. 处理的数据单位不同,可分为:字符流,字节流
   > 2.数据流方向不同,可分为:输入流,输出流
   > 3.功能不同,可分为:节点流,处理流

节点流:节点流从一个特定的数据源读写数据。即节点流是直接操作文件,网络等的流,例如FileInputStream和FileOutputStream,他们直接从文件中读取或往文件中写入字节流。

处理流:“连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能。过滤流是使用一个已经存在的输入流或输出流连接创建的,过滤流就是对节点流进行一系列的包装。例如BufferedInputStream和BufferedOutputStream,使用已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率,以及DataInputStream和DataOutputStream,使用已经存在的节点流来构造,提供了读写Java中的基本数据类型的功能。他们都属于过滤流。

如何访问文件与目录

Path接口和File类封装了在用户机器上处理文件系统的所有功能
Path指的是文件的文件的相对/绝对路径,其方法定义了对文件路径及文件名的操作,不涉及文件内容。

package java.nio.file

public final class Paths {
    private Paths() { }
    public static Path get(String first, String... more){……}
    public static Path get(URI uri){……}
}
public interface Path extends Comparable<Path>, Iterable<Path>, Watchable
{
    Path toAbsolutePath();
    Path getFileName();
    Path toRealPath(LinkOption... options) throws IOException;
……
}

Files 配合path,可以使得普通文件的操作变得简单:

  • 读写中等长度的文本文件(其他情况适合用流进行处理)
  • 创建文件和目录
  • 获取文件信息
  • 迭代目录中的文件
package java.nio.file
public final class Files {
    private Files() { }
     public static FileStore getFileStore(Path path) throws IOException {
        return provider(path).getFileStore(path);
        }
        ……
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值