从Thinking in Java中可以看到,文件的输入有很多中形式,控制台(键盘)、文件、网络等等,所以要完成一个语言的I/O功能,是一个不太简单的操作。同时输出的过程也有很多形式,可以write by line,char 或者以二进制写入,或者将字符串一次性写入。下面介绍一下java中各个操作类。
一、文件操作类
java中对文件的操作,依靠java.io.File类,该类中含有很多文件操作的函数,这里以列表的形式给出,并对常用的类进行举例。
构造函数File(): file = new File("~/desktop/test.txt") 创建一个新文件,指定文件路径。这里需要抛出异常,因为文件的创建成功与否是不确定的。
public boolean exists() 检测文件是否存在,public boolean delete()删除文件,public boolean mkdirs()创建多级目录,public long length()获取文件大小,以字节方式返回,public boolean isDirectory(),public boolean isFile(),传入的都是文件的路径。
二、字节流与字符流
java中针对数据流的操作也提供了两种支持:
字节流:InputStream OutputStream(用的较字符流广泛)
字符流:Writer Reader
OutputStream InputStream继承Closeable可以自动关闭资源,他们本身为一个抽象类,一般使用他们的子类FileOutputStream来进行操作。