由于水平原因,博客大部分内容摘抄于网络,如有错误或者侵权请指出,本人将尽快修改

字符流

字符流操作文件

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("\r\n");  // 将输出语句换行
        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("\r\n");                            // 写入换行
        }
        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();
    }
}
posted @ 2016-03-02 17:41  小纸条  阅读(290)  评论(0)    收藏  举报