Java连载97-FileOutputStream详解以及文件复制

2020-03-15 16:01:00来源:博客园 阅读 ()

容器云强势上线!快速搭建集群,上万Linux镜像随意使用 Java连载97-FileOutputStream详解以及文件复制

一、FileOutputStream详解

1.该类的构造方法,有第二个参数

FileOutputStream(String address,boolean append)

append默认false,也就是新的写入会覆盖原来的东西。改为true的话,也就是以追加的形式写入文件

 

package com.bjpowernode.java_learning;

import java.io.*;

public class D97_1_FileOutputStream {

  public static void main(String[] args){

    //1.创建文件输出字符流

    FileOutputStream f1 = null;

    try {

      

      f1 = new FileOutputStream("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt");

     

      //参数中的文件如果不存在的话,就会自动创建

      //2.开始写

      //推荐最后的时候为了保证数据完全写入硬盘,所以要刷新

      String msg = "HelloWorld";

      f1.flush();//强制写入

      //将String转换成byte数组

      byte[] bytes = msg.getBytes();

      f1.write(bytes);

      //如果带参数,即write(Object o,int a,int b)代表对象o的第a个字符到第b个字符写入文件

     

    }catch(Exception e1) {

      e1.printStackTrace();

    }finally{

      //关闭

      if(f1 != null) {

        try {

          f1.close();

        }catch(Exception e) {

          e.printStackTrace();

        }

      }

    }

  }

}

?二、文件的复制

 

package com.bjpowernode.java_learning;

import java.io.*;

public class D97_2_CompleteCopyFile {

  public static void main(String[] args) throws IOException,FileNotFoundException{

    //创建输入流

    FileInputStream f1 = new FileInputStream("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt");

    //创建输出流

    FileOutputStream f2 = new FileOutputStream("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp2.txt");

    //一边读一边写

    byte[] bytes = new byte[1024];//1kb;

    int temp = 0;

    while((temp=f1.read(bytes)) != -1){

      //将byte数组中的内容直接写入

      f2.write(bytes);

    }

    //刷新

    f2.flush();

    //关闭

    f1.close();

    f2.close();       

  }

}

 

三、源码:

D97_1_FileOutputStream.java

D97_2_CompleteCopyFile.java

https://github.com/ruigege66/Java/blob/master/D97_1_FileOutputStream.java

https://github.com/ruigege66/Java/blob/master/D97_2_CompleteCopyFile.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料


原文链接:https://www.cnblogs.com/ruigege0000/p/12495390.html
如有疑问请与原作者联系

标签:对象.NETgitinputAVput

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:阿里资深架构详解淘宝十年IT技术路

下一篇:【Spring Data 系列学习】Spring Data JPA @Query 注解查询