Java文件输入输出练习(实现文件复制、文件读写等)

创作思路:首先准备好自己需要复制的文件内容,再将要复制的内容输出到文件中。其中用到了字节输入流和字节输出流以及通过字节数组来读取数据。

一,实现文件内容的复制

1,事先准备好的文件(a.txt)。

package homeWork;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class IOwk1 {

    public static void main(String[] args) throws IOException {
        File file=new File("a.txt");
        file.createNewFile();
        // 创建输出流
        FileOutputStream fos = new FileOutputStream(file);
        // 把String类型的字符串转化为byte数组保存在输出流中
        fos.write("HelloJavaWorld你好世界 ".getBytes());
        fos.flush();
        fos.close();
       

    }
}

2,将文件(a.txt)中的内容复制到文件(b.txt)中。

package homeWork;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class IOwk2 {
    public static void main(String[] args) throws IOException {
        //创建字节输入流对象
        FileInputStream fis=new FileInputStream("a.txt");
        //创建字节输出流对象
        FileOutputStream fos=new FileOutputStream("b.txt");
        //读取数据并写出数据
        int len=0;
        byte[] bytes=new byte[1024];
        while ((len=fis.read(bytes))!=-1){
            fos.write(bytes);
        }
        //释放资源
        fis.close();
        fos.close();

    }
}

二,格式模版保存在文本文件pet.template中,要求按照模板格式保存宠物数据到文本文件,即把{name}、{type}、{master}替换为具体的宠物信息。

package zuoye;

import java.io.*;

public class IOwk {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos=new FileOutputStream("pet.template");
        fos.write("您好!我的名字是{name},我是一只{type}。我的主人是{master}".getBytes());
        fos.close();
        FileReader reader=new FileReader("pet.template");
        StringBuffer sb=new StringBuffer();
        int len=0;
        char[] chars=new char[1024];
        while ((len=reader.read(chars))!=-1){
              sb.append(chars);
        }
        System.out.println("替换前:"+sb);
        String str=sb.toString();
        str=str.replace("{name}","欧欧");
        str=str.replace("{type}","狗狗");
        str=str.replace("{master}","李伟");
        System.out.println("替换后:"+str);
        reader.close();
    }

结果实现:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值