java基础io流的基本应用

package testio;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

//inputstream与outputstream都可以操作文本文件、视频文件、音频等。(这是抽象文件不能实例化)
//包括fileinputstream与fileoutputstream  、bufferedoutputstream与bufferedinputstream

//reader与writer只可以操作文本文件(这是抽象文件,不能实例化)
//filereader与filewriter、bufferedreader与bufferedwriter

public class testinputoutput {
       //这里在开始就把异常全部抛出,比较方便,
    public static void main(String[] args) throws Exception {
        File file1=new File("a.txt");//这里是相对路径
        File file2=new File("b.txt");
        InputStream inputStream=new FileInputStream(file1);
        OutputStream outputStream=new FileOutputStream(file2);
        byte []b=new byte[1024];
        int len;
        while((len=inputStream.read(b))!=-1){
            outputStream.write(b, 0, len);
        }
            outputStream.close();//先关输入流
            inputStream.close();//在关输出流
            
    }

}

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++ -->

package testio;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
//bufferedinputstream、bufferedoutputstream与inputstream、outputstream的操作基本一样
//主要是速度快
import java.io.FileOutputStream;

public class bufferedinputoutputTeat {

    public static void main(String[] args) {
        File file1=null;
        File file2=null;
        try {
            file1=new File("c:\\video\\a.wmv");//由于“\"是转义符号,所以要用双斜杠
            file2=new File("d:/test/b.wmv");//或者用”/"来表示
            FileInputStream fileInputStream=new FileInputStream(file1);
            FileOutputStream fileOutputStream=new FileOutputStream(file2);
            BufferedInputStream bufferedInputStream=new BufferedInputStream(fileInputStream);
            BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(fileOutputStream);
            byte []b=new byte[1024];
            int len;
            while((len=bufferedInputStream.read(b))!=-1){
                bufferedOutputStream.write(b, 0, len);
            }
            
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        }
       
    }
package testio;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;

/*
 * writer与reader的练习
 * 这是字符类,主要操作文本本件,不能操作其他的文件,可以解决中文乱码的问题
 */
public class testreaderwriter {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String string1="first.txt";
        String string2="second.txt";
        File file1=null;
        File file2=null;
        Reader reader=null;
        Writer writer=null;
        try {
            file1=new File(string1);
            file2=new File(string2);
            reader=new FileReader(file1);
            writer=new FileWriter(file2);
            char [] c=new char[20];//由于是字符流,所以数组应该用字符数组
            int len;
            while((len=reader.read(c))!=-1){
                writer.write(c, 0, len);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            if(writer!=null){
                try {
                    writer.close();
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
            if(reader!=null){
                try {
                    reader.close();
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
        }

    }

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值