Java - 文件 (IO)
流的分类:
> 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter
> 缓冲流:BufferedInputOutStream | BufferedOutputStream | BufferedReader | BufferedWriter
> 转换流:InputStreamReader | OutputStreamWriter
> 标准输入 / 输出流:
> 打印流(很少用):PrintStream | PrintWriter
> 数据流(很少用):DataInputStream | DataOutputStream
> 对象流(涉及序列化 / 反序列化):ObjectInputStream | ObjectOutputStream
>随机存取文件流:RandomAccseeFile
一、java.io.File类的大概使用
> 凡是与输入输出相关的类、接口都定义在java.io包下
> File类对象是与平台无关的
> File中的方法,仅涉及到如何创建、删除、重命名等等,涉及文件内容的必须由IO流来做
> File类的对象长作为IO流的具体类的构造器的形参
1、File表示一个文件`
File file = new File("文件的绝对路径:F:/Program File/1.txt");
// 在当前目录下
File file = new File("文件的相对路径:1.txt");
2、File表示一个路径
File file = new File("文件的绝对路径:F:/Program File/");
3、方法介绍:
> getName():文件名
> getPath():文件路径
> getAbsoluteFile()
> getAbsolutePath()
> getParent()
> renameTo(File new Name):文件重命名
> exists():文件是否存在
> canWrite():文件是否可写
> canRead():文件是否可读
> isFile():是否是一个文件
> isDirectory():是否是一个目录
> lastModified():文件最后的修改时间
> length():文件内容的大小
> createNewFile():新建一个文件
> delete():删除一个文件
> mkdir():创建一个文件夹
> mkdirs():创建一个文件夹,若上层文件夹不存在,则一起创建
> list():列出file目录下的所有文件,以String的形式
> listFiles()
二、Java IO流的使用
> 除了处理文本文件的流为字符流,其他的流都是字节流
1、FileInputStream | FileOutputStream
> 抽象基类:InputStream OutputStream Reader Writer
> FileInputStream:
> read():一次读取一个字节,每次调用返回一个字节的数据,当读到文件末尾,返回 -1,读取的文件一定要存在
File file = new File("文件路径");
FileInputStream fs = new FileInputStream(file);
// 读取文件
fs.read();
> read(buffer []):将文件读取到一个Byte类型的buffer大小的数组中,返回读到的字节数 ,当读到文件末尾,返回 -1
> FileOutputStream:
> write(buffer []):将一个buffer字节数组写入文件