首页 > 代码库 > java-IO流

java-IO流

1.使用File类操作文件

2.FileReader,FileWriter,进行文件的操作

   BufferedReader,BufferedWriter,进行文件缓冲区操作

 DataInputStream,DataOutputStram,指定数据类型操作文件

3.关闭流

// 实例化File对象
        File file = new File("E:\\tmp\\test.txt");
        // 当前文件是否存在以及当前文件是否是一个普通文件
        if (file.exists() && file.isFile()) {
            System.out.println("该文件已存在,覆盖");
        } else {
            System.out.println("文件不存在,新建文件");
        }

        // 通过键盘输入获取写入的信息
        // 实例化一个BufferReader对象
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = null;
        // 实例化一个dataOutputStrem对象
        DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));
        // 读到的写入信息不为null
        while ((line = br.readLine()) != null) {
            if (line.toLowerCase().equals("end")) {
                break;
            }
            // 写入信息
            dos.writeBytes(line + "\r\n");
        }

        dos.close();
        br.close();

        // 读取键盘输入信息
        BufferedReader br_read = new BufferedReader(new FileReader(file));
        String str=null;
        System.out.println("输出文件内容");
        while ((str = br_read.readLine()) != null) {
            System.out.println(str);
        }
        System.out.println("文件读取完毕");
        br_read.close();

 

重定向标准IO流

System.in :inputStream类型,标准输入流,默认的数据源是键盘

System.out:PringStream类型,标准输出流,默认控制台

System.err:PringStream类型,标准错误输出流

以上三个在java.lang.System包中,他们出去整个java中打开状态

 

//重定向输出到文件
        FileOutputStream fos = new FileOutputStream("E:\\tmp\\hello.txt");
        PrintStream ps = new PrintStream(fos);

        System.setOut(ps);
        System.out.println("这sdfsdfdsf中");
        System.out.println(new NormIo());

        fos.close();
        ps.close();


        // 重定向标准输入流
        /*FileInputStream fis = new FileInputStream("E:\\tmp\\hello.txt");
        System.setIn(fis);

        // 读取内容
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = null;
        System.out.println("读取标准输入流");
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }

        System.out.println("读取结束");
        br.close();*/

 

java-IO流