java文本复制和键盘输入文字保存到文件

通过下面的案例了解Java的i/o流基本知识,为了方便看清代码的逻辑,所以异常均抛出去

一:完成文本复制,有三种方法,大家可以测测他们的性能。

``
`

`package com.yxy;

import java.io.*;

public class TestCopy {

    public static void main(String[] args) throws IOException {
        /*需要复制的文本*/
        File file=new File("D:"+File.separator+"test.txt");
        File file1=new File("D:"+File.separator+"test1.txt");
        /*准备输入流*/
        FileReader fileReader=new FileReader(file);
        BufferedReader bufferedReader=new BufferedReader(fileReader);
        FileWriter fileWriter=new FileWriter(file1);
        /*准备缓冲流*/
        BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);


       /*第一种方式:一个一个复制*/
        int n = bufferedReader.read();
        while (n!=-1){
            bufferedWriter.write(n);
            n=bufferedReader.read();
        }


        /*第二种方式:利用缓冲数组*/
        char ch[]=new char[5];
        int len = bufferedReader.read(ch);
        while (len!=-1){
            bufferedWriter.write(ch,0,len);
            len=bufferedReader.read(ch);
        }
        /*第三种方式:利用string*/
        String s = bufferedReader.readLine();
        while (s!=null){
            bufferedWriter.write(s);
            bufferedWriter.newLine();
            s=bufferedReader.readLine();
        }
        /*别忘记关闭*/
        bufferedWriter.close();
        bufferedReader.close();
    }
}



二:键盘输入保存到文件中

package com.yxy;

import java.io.*;

public class Test01 {
    public static void main(String[] args) throws IOException {
        InputStream in=System.in;
        InputStreamReader inputStreamReader=new InputStreamReader(in);
        BufferedReader bufferedReader=new BufferedReader(inputStreamReader);

        /*准备输出方向 和文件*/
        File file=new File("D:"+File.separator+"test2.txt");
        FileWriter fileWriter=new FileWriter(file);
        BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
        /*开始读*/
        String s = bufferedReader.readLine();
        /*输出exist退出*/
        while (!"exist".equals(s)){
            bufferedWriter.write(s);
            bufferedWriter.newLine();
            s=bufferedReader.readLine();
        }
        bufferedWriter.close();
        bufferedReader.close();
    }

}

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值