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

  • 相关阅读:
    Kali 2020.3安装docker和vulhub
    Web渗透——身份管理测试
    Web渗透——配置管理测试
    网站信息收集
    linux修改MAC的方法
    '文件上传总结'
    美杜莎和九头蛇的对比
    渗透测试常见开放端口及利用
    Google hacking 语法
    web渗透测试基本步骤
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/12495390.html
Copyright © 2011-2022 走看看