欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-19 10:00:39
一、FileOutputStream详解 1.该类的构造方法,有第二个参数 FileOutputStream(String address,boolean append) append默认false,也就是新的写入会覆盖原来的东西。改为true的话,也就是以追加的形式写入文件 package com ......

一、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();

        }

      }

    }

  }

}

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

​二、文件的复制

 

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();       

  }

}

 

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

三、源码:

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

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