Java笔记7–IO流

2016年1月20日

14:59

7    IO流

    7.1  标准设备输入/输出

            标准输出:System.out.println();

                    System是java的系统类,它包含了许多的静态方法和变量。

                            System的常用功能:

                                    标准输入 输出和错误输出流、

                                    对外部定义的属性和环境变量的访问、

                                    加载文件和库、快速复制数组、

                                    取得系统时间即System.currentTimeMillis();  

                                    系统推出命令:System.exit();

                            System的3个静态成员变量:

                                    out 标准输出流–输出消息到控制台

                                    err  标准错误输出

                                    in    接收键盘输入

 

        7.2  文件操作类File

                file类的操作对象分为两类:目录和文件

                file的常见操作:

                        

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.firefly.javatest.io;
 
import java.io.File;
import java.io.IOException;
 
public class FileTest {
 
    public static void main(String[] args) {
        //创建file对象的四种方法———————–
        //方案一    File(String pathname)
        File path = new File(“D:/IoTest”);
        File file1 = new File(“D:/IoTest/test1.txt”);
        //方案二   File(String parent,String child)
        File file2 = new File(“D:/IoTest”,”test2.txt”);
        //方案三   File(URI uri)
        File file3 = new File(“file://D:/IoTest/test3.txt”);
        //方案四   File(File parent,String child)
        File file4 = new File(path,”test4.txt”);
 
        //———————————–
 
 
        //检查路径是文件还是目录
        System.out.println(“路径是否为文件:”+path.isFile());
        System.out.println(“路径是否为文件夹:”+path.isDirectory());
        //检查文件或目录是否存在
        System.out.println(“路径是否存在:”+path.exists());
        if(!path.exists()){ // judge the path is exists
            path.mkdir();   //  创建已存在的目录下的一个子目录
            path.mkdirs();  //  创建所有的子目录
        }
 
        System.out.println(“文件是否存在:”+file1.exists());
        if(!file1.exists()){ //如果文件不存在,则创建文件,这个地方要抛出一个异常
            try {
                file1.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
 
        //查看目录下的文件
        File[] arrayFile = path.listFiles();
        for(File f : arrayFile){
            System.out.println(f);
        }
 
        //重命名文件   renameTo(File file)
        if(file1.isFile()){
            file1.renameTo(file2);
        }
    }
 
}

            7.3  文件搜索类FileFilter与FilenameFilter

                    概述:这是两个接口,我们通过实现这两个接口中的一个便可以完成对文件的搜索,他们的区别是,FileFilter能允许我们对文件对象进行操作,即我们得到的本身是一个文件对象,我们在传的参数是一个对象;而在FilenameFilter中我们得到的是文件目录和文件名,我们传的参数是一个String。

            7.4  文件随机读写类RandomAccessFile                            

 

 

            7.5  输入输出流

                    概述:流是数据的有序排列,java的输入输出有4个关键父类,一下会详细说明,前两个是对byte数据进行操作,后两个是对character数据进行操作。

                    java IO最关键的4个父类为:

                            InputStream(输入字节流)

                                    常见的子类:FileInputStream

                                                         StringBufferInputStream

                                                         BufferedInputStream

                            OutputStream(输出字节流)

                            Reader(输入字符流)

                            Writer(输出字符流)

                    

 

已使用 Microsoft OneNote 2016 创建。