• 字符流


    字符流操作文件

    import java.io.*;
    public class Example08 {
        public static void main(String[] args) throws Exception {
            // 创建一个FileReader对象用来读取文件中的字符
            FileReader reader = new FileReader("reader.txt");
            int ch; // 定义一个变量用于记录读取的字符
            while ((ch = reader.read()) != -1) { // 循环判断是否读取到文件的末尾
                System.out.println((char) ch); // 不是字符流末尾就转为字符打印
            }
            reader.close(); // 关闭文件读取流,释放资源
        }
    }

    写入文件

    import java.io.*;
    public class Example09 {
        public static void main(String[] args) throws Exception {
            // 创建一个FileWriter对象用于向文件中写入数据
            FileWriter writer = new FileWriter("writer.txt");
            String str = "你好,北京";
            writer.write(str);  // 将字符数据写入到文本文件中
            writer.write("
    ");  // 将输出语句换行
            writer.close(); // 关闭写入流,释放资源
        }
    }

    缓冲流拷贝文件

    import java.io.*;
    public class Example10 {
        public static void main(String[] args) throws Exception {
            FileReader reader = new FileReader("src.txt");
            // 创建一个BufferedReader缓冲对象
            BufferedReader br = new BufferedReader(reader);
            FileWriter writer = new FileWriter("des.txt");
            // 创建一个BufferdWriter缓冲区对象
            BufferedWriter bw = new BufferedWriter(writer);
            String str;
            while ((str = br.readLine()) != null) { // 每次读取一行文本,判断是否到文件末尾
                bw.write(str);
                bw.newLine(); // 写入一个换行符,该方法会根据不同的操作系统生成相应的换行符
            }
            br.close();              
            bw.close();
        }
    }

    LineNumberReader

    import java.io.*;
    public class Example11 {
        public static void main(String[] args) throws Exception {
            FileReader fr = new FileReader("Example09.java");    // 创建字符输入流
            FileWriter fw = new FileWriter("copy.java");    // 创建字符输出流
            LineNumberReader lr = new LineNumberReader(fr);    // 包装
            lr.setLineNumber(0); // 设置读取文件的起始行号
            String line = null;
            while ((line = lr.readLine()) != null) {
                fw.write(lr.getLineNumber() + ":" + line); // 将行号写入到文件中
                fw.write("
    ");                            // 写入换行
            }
            lr.close();
            fw.close();
        }
    }

    转换流

    import java.io.*;
    public class Example12 {
        public static void main(String[] args) throws Exception {
            FileInputStream in = new FileInputStream("src.txt");// 创建字节输入流
            InputStreamReader isr = new InputStreamReader(in); // 将字节流输入转换成字符输入流
            BufferedReader br = new BufferedReader(isr); // 对字符流对象进行包装
            FileOutputStream out = new FileOutputStream("des.txt");
              // 将字节输出流转换成字符输出流
            OutputStreamWriter osw = new OutputStreamWriter(out);
            BufferedWriter bw = new BufferedWriter(osw); // 对字符输出流对象进行包装
            String line;
            while ((line = br.readLine()) != null) { // 判断是否读到文件末尾
                bw.write(line); // 输出读取到的文件
            }
            br.close();
            bw.close();
        }
    }
    加油啦!加油鸭,冲鸭!!!
  • 相关阅读:
    codevs 1163:访问艺术馆
    codevs 2853:方格游戏
    冲刺Noip2017模拟赛2 解题报告——五十岚芒果酱
    HDU 1317:XYZZY
    codevs 1380:没有上司的舞会
    POJ 1734:Sightseeing trip
    lesson 23 one man's meat is another man's poison
    wordlist 4
    TPO-12 C1 Revise a Hemingway paper
    lesson 22 by heart
  • 原文地址:https://www.cnblogs.com/clarencezzh/p/5235869.html
Copyright © 2020-2023  润新知