zoukankan      html  css  js  c++  java
  • Java自学笔记(19): 【IO】字符流,缓冲流

    字符流

    FileReader

    package character;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    public class FileReaderDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            File file = new File("test.txt");
            try {
                FileReader fr = new FileReader(file);
                char[] content;
                content = new char[512];
                fr.read(content); 
                fr.close();
                System.out.println(content);
                
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }

    FIleWriter

    package character;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    public class FileWriterDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            File file = new File("test.txt");
            try {
                FileWriter fw = new FileWriter(file);
                String str = "Hello World";
                fw.write(str);
                fw.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }

    ~和字节流操作差不多

    FileWriter写文件时先写入缓冲区,所以如果没有close(),内容未写入,如果不写close(),需要有flush()。


    缓冲流

    BUfferedReader缓冲输入流

    package buffered;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    
    public class BufferedREaderDemo {
    
        public static void main(String[] args) {
            File file = new File("test.txt");
            FileReader fr;
            try {
                fr = new FileReader(file);
                BufferedReader br = new BufferedReader(fr);
                String str = br.readLine();
                while(str!=null) {                     //输出所有文本
                    System.out.println(str);
                    str = br.readLine();
                }
                fr.close();
                br.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            
        }
    
    }
    }

    转换流   InputStreamReader,OutputStreamWriter

    package buffered;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class BufferedReaderDemo2 {
    
        public static void main(String[] args) {
            // 键盘输入
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   //转换流
            try {
                System.out.println(br.readLine());   //输出
            } catch (IOException e) {
                e.printStackTrace();
            }
            
            //反复输入
            try {
                String str = br.readLine();
                while(str!=null) {
                    System.out.println(str);
                    str= br.readLine();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }

    BufferedWriter缓冲输出流

    输出的数据先存入缓冲区中

    写入:

    package buffered;
    
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class BufferWriterDemo {
    
        public static void main(String[] args) {
            // 写入一首诗
            String[] str = {"我是小妖怪 ,逍遥又自在","杀人不眨眼, 吃人不放盐","一口七八个, 肚子要撑破","茅房去拉屎, 想起忘带纸"};
            File file = new File("test.txt");
            FileWriter fw;
            try {
                fw = new FileWriter(file);
                BufferedWriter bw = new BufferedWriter(fw);
                for(int i=0;i<str.length;i++) {
                    bw.write(str[i]);
                    bw.write("
    
    ");
                }
                bw.close();
                fw.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }    
        }
    }

    全是代码~

  • 相关阅读:
    websocket 初识
    JavaScript 系列博客(四)
    JavaScript 系列博客(三)
    JavaScript 系列博客(二)
    JavaScript 系列博客(一)
    前端(八)之形变
    前端(七)之动画与阴影
    java变量、数据类型
    js简单的获取与输出
    Eclipse字体修改
  • 原文地址:https://www.cnblogs.com/tkj521Ya/p/11287305.html
Copyright © 2011-2022 走看看