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

来源:互联网 发布:java processbuilder 编辑:程序博客网 时间:2024/06/03 14:20

复习笔记
[第四季]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.一个一个字节的考,这个时间很长******************    }}
阅读全文
0 0
原创粉丝点击