12.用FileOutputStream和FileWriter来输出文本信息的区别13.文件拷贝与BufferedXXX装饰类

复习笔记
[第四季]12.用FileOutputStream和FileWriter来输出文本信息的区别
1.FileOutputScream的使用方法
①new一个FileOutputScream,位置在”I:\001 学习\003 java\Java入门第四季\abc.txt”.变量名为fos
②定义一个文本变量str,存储”我爱北京天安门”.
③写入字符串到abc.txt文档中.用fos.write,str.getBytes方法.
④最后要关闭fos.
2.FileWriter使用方法
①new一个FileWriter,位置还是老样子.变量名字叫fw.
②同样的,顶一个字符变量,然后写入str+”hello i love you”.
③最后关闭,fw.

————–笔记结束——————–

12.用FileOutputStream和FileWriter来输出文本信息的区别

这次我们要在文件中写入文本

package javastudy;

//import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;

public class Test1 
{

    public static void main(String[] args) throws IOException
    {
        //*************1******************
//      FileOutputStream fos=new FileOutputStream("I:\\001 学习\\003 java\\Java入门第四季\\abc.txt");
//      String str="我爱北京天安门!";
//      fos.write(str.getBytes());
//      fos.close();
        //*************2******************
        FileWriter fw=new FileWriter("I:\\001 学习\\003 java\\Java入门第四季\\abc.txt");
        String str="I:\\001 学习\\003 java\\Java入门第四季\\abc.txt";
        fw.write(str+"hello i love you");
        fw.close();
    }
}

复习笔记
[第四季]13.文件拷贝与BufferedXXX装饰类
1.用1024长的数组进行读写.
①new 一个FileInputStream,命名为fis.位置是”D:\javatestinput.rar”,
new一个FileOutputSteam,名字命名为fos,位置是”D:\javatestoutput.rar”
②并且定义一个int ch=0;定义一1024的长的位数组,名字为data.
③接下来读到字节数组中去
首先在while的括号里定义读入方式,用fis.read的方法,将数据读到data里面去.
然后将fis.read(data)赋值给ch,最后将ch=fis.read(data),包裹起来,编程bollean变量.判断其是否为-1,

如果为-1的话,那么说明这个变量说好了.
④读取完成了,接下来是写入的工作.
首先在和fis.read类似的,但是我们要在括号里写入另外两个参数,一个是0,一个是ch,这个不知道为什么,

后续查一查.
⑤最后是关闭,fis和fos.释放掉.
2.使用BufferedInputStream进行数据文件的读取
①这个就是把fis包装成bos(BufferedInputStream),用fis去read bos里面的数据.
②理所当然的要把bos所有的都改成bis.语句和1中的写法类似,只是替换了一些.

13.文件拷贝与BufferedXXX装饰类

FileInputStream和FileOutputStream的用法

package javastudy;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
//import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test1 
{

    public static void main(String[] args) throws IOException
    {
        FileInputStream fis=new FileInputStream("I:\\DontTouch.rar");
        //*************3.BufferedInputStream******************
        BufferedInputStream bis=new BufferedInputStream(fis);//装饰模式
        FileOutputStream fos=new FileOutputStream("I:\\myfile.rar");

        BufferedOutputStream bos=new BufferedOutputStream(fos);//包了一层
        //*************1.一个一个字节的考,这个时间很长******************
        int ch=0;
        //*************2.定义读取的长度******************
        //定义1024厂的数组
        byte[] data=new byte[1024];
        //读到字节数组中去
//      while((ch=fis.read(data))!=-1)
//      {
//          fos.write(data,0,ch);
//          System.out.println(ch);
//          
//      }
        while((ch=bis.read(data))!=-1)
        {
            bos.write(data,0,ch);
            System.out.println(ch);
            //*************4.在处理大文件的时候效率会提升******************
        }


        fis.close();
        fos.close();

        //*************1.一个一个字节的考,这个时间很长******************
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值