java-IO流-字符流

新一
2021-11-26 / 0 评论 / 92 阅读 / 正在检测是否收录...

字符输入流代码示例:

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Demo5 {

    public static void main(String[] args) throws IOException{
        FileReader fr=new FileReader(new File("123.txt"));
        char[] ca=new char[1024];
        int count=0;
        while((count=fr.read(ca))!=-1) {
            System.out.println(new String(ca,0,count));
        }
    }
}

字符输出流代码示例:

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Demo6 {

    public static void main(String[] args) throws IOException{
        FileReader fr=new FileReader(new File("1.txt"));
        FileWriter fw=new FileWriter(new File("2.txt"));
        char[] ca=new char[1024];
        int count;
        while((count=fr.read(ca))!=-1) {
            fw.write(ca,0,count);
        }
        fr.close();
        fw.close();
    }
}

BufferedReader输入流、BufferedWriter输出流,代码示例

package Z.LIO;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class BufferCopyFile {

    public static void main(String[] args) throws IOException {
        //File f=new File("D:/代码/FileDemo002.java");
        //BufferedReader字符流,读取文件
        BufferedReader br=new BufferedReader(new FileReader("D:/代码/FileDemo002.java"));
        String str=null;
        while((str=br.readLine())!=null) {//一次读一行
            System.out.println(str);
        }
        br.close();//关闭
        
        //写入文件
        //FileOutputStream fout=new FileOutputStream(file, append);
        //append:true表示不覆盖原有文件在原有文件的基础上追加,默认是false 覆盖原有文件
        BufferedWriter bw=new BufferedWriter(new FileWriter(new File("D:/代码/输出流.java"),true));
        bw.write("你好,我是输出流.");
        bw.flush();//刷新缓存区
        bw.close();//关闭输出流
    }
}

再加一个小需求!

如果有a.txt b.txt两个文件,我想把a文件和b文件内容合并,合并到a.txt,再删掉b.txt应该怎么做?

package Z.LIO.zuoye;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class TxtHebing {

    public static void main(String[] args) throws IOException {
        /*1.a.txt  b.txt
        把a文件和b文件内容合并,合并到a.txt,再删掉b.txt*/
        File fi=new File("D:/代码/B.txt");
        fi.createNewFile();//新建空白文件
        FileOutputStream fis=new FileOutputStream(fi);//创建输出流
        String bb="我是b.txt的内容";
        fis.write(bb.getBytes());//写入内容
        BufferedReader ff2=new BufferedReader(new FileReader("D:/代码/B.txt"));
        
        String str=null;
        BufferedWriter ff1=new BufferedWriter(new FileWriter(new File("D:/代码/A.txt"),true));
        while((str=ff2.readLine())!=null) {//一次读取一行
            ff1.write(str+"\r\n");//写入
            ff1.flush();//刷新缓存区
        }
        ff1.flush();//刷新缓存区
        ff1.close();//关闭字符输出流
        ff2.close();//关闭字符输入流
        fis.close();//关闭输出流
        
        fi.delete();//删除b.txt文件
        
    //测试是否写入
        BufferedReader ff3=new BufferedReader(new FileReader("D:/代码/A.txt")); 
        String str2=null;
        while((str2=ff3.readLine())!=null) {//一次读取一行
            System.out.println(str2);
        }
        ff3.close();//关闭字符输入流
    
    }
}

kwfy0jg4.png

别忘了看看思维导图.

本文共 470 个字数,平均阅读时长 ≈ 2分钟
1

打赏

:D 获取中...

更多精彩文章,按Ctrl+D收藏本站!

评论 (0)

取消