01 IO流操作- FileInputStream

本文介绍了使用Java进行文件读写的三个示例:利用FileOutputStream进行文件写入,包括覆盖和追加模式;使用FileInputStream读取文件内容;以及利用FileInputStream和FileOutputStream复制MP3文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例1:FileOutputStream

package day01;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
 * java.io.FileOutputStream
 * 用于向文件中写出字节的字节输出流。
 * 这是一个低级流。
 * 满足低级流特点:写出的数据目的地明确(文件中)。
 *              真实将数据写入文件中。
 * @author Administrator
 *
 */
public class FileOutputStreamDemo1 {
    public static void main(String[] args) throws IOException {
        /*
         * FOS创建的第一种模式:覆盖写操作 默认创建出来的FOS就是覆盖写操作。意思是通过该流写出的文件会先将文件中所有已有数据移除,重新写入新内容。
         * FOS创建的第二种模式:追加写操作需要在构造方法中添加第二个参数:FileOutputStream(String path,boolean append)
         * 第二个参数若为true,就是追加写模式,通过该流写出的数据会追加到当前文件末尾
         */
        FileOutputStream fos
            = new FileOutputStream(
                "fos.txt",true
              );

        String str = "我爱北京天安门";
        byte[] data = str.getBytes("UTF-8");

        fos.write(data);

        System.out.println("写出完毕");
        /*
         * 流使用完毕后要关闭,来释放资源。
         */
        fos.close();

    }
}

例2:FileInputStream

package day01;

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

/**
 * java.io.FileInputStream
 * 用于从文件中读取数据的流,同样的是一个低级流。
 * @author Administrator
 *
 */
public class FileInputStreamDemo1 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis
            = new FileInputStream(
                "fos.txt"   
            );

        byte[] data = new byte[100];

        int len = fis.read(data);

        String str 
            = new String(data,0,len,"UTF-8");
        System.out.println(str);
        fis.close();
    }
}

运行结果:

我爱北京天安门

例3:用FileInputStream 和FileOutputStream复制MP3.

package day01;

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

/**
 * 使用文件流的形式复制文件
 */
public class CopyDemo3 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis= new FileInputStream("草原歌曲 - 我要去西藏.mp3");
        FileOutputStream fos= new FileOutputStream("草原歌曲 - 我要去西藏cc.mp3");
        byte[] buf = new byte[1024*10];
        int len = -1;
        while((len=fis.read(buf))!=-1){
            fos.write(buf,0,len);
        }
        System.out.println("复制完毕!");
        fis.close();
        fos.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值