import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;/*输出字节流:--------| OutputStream 是所有输出字节流 的父类。  抽象类-----------| FileOutStream 向文件输出数据的输出字节流。FileOutputStream如何使用呢?1. 找到目标文件2. 建立数据的输出通道。3. 把数据转换成字节数组写出。4. 关闭资源FileOutputStream要注意的细节:1. 使用FileOutputStream 的时候,如果目标文件不存在,那么会自动创建目标文件对象。 2. 使用FileOutputStream写数据的时候,如果目标文件已经存在,那么会先清空目标文件中的数据,然后再写入数据。3.使用FileOutputStream写数据的时候, 如果目标文件已经存在,需要在原来数据基础上追加数据的时候应该使用new FileOutputStream(file,true)构造函数,第二参数为true。4.使用FileOutputStream的write方法写数据的时候,虽然接收的是一个int类型的数据,但是真正写出的只是一个字节的数据,只是把低八位的二进制数据写出,其他二十四位数据全部丢弃。00000000-000000000-00000001-11111111   51111111111---> -1 */public class Demo1 {public static void main(String[] args) throws IOException {writeTest3();}//使用字节数组把数据写出。public static void writeTest3() throws IOException{//找到目标文件File file = new File("F:\\b.txt");//建立数据输出通道FileOutputStream fileOutputStream = new FileOutputStream(file);//把数据写出。String data = "abc";byte[] buf = data.getBytes();fileOutputStream.write(buf, 0, 3); // 0 从字节数组的指定索引值开始写, 2:写出两个字节。//关闭资源
        fileOutputStream.close();}//使用字节数组把数据写出。public static void writeTest2() throws IOException{//找到目标文件File file = new File("F:\\b.txt");//建立数据输出通道FileOutputStream fileOutputStream = new FileOutputStream(file,true);//把数据写出。String data = "\r\nhello world";fileOutputStream.write(data.getBytes());//关闭资源
        fileOutputStream.close();}//每次只能写一个字节的数据出去。public static void writeTest1() throws IOException{//找到目标文件File file = new File("F:\\b.txt");//建立数据的输出通道FileOutputStream fileOutputStream = new FileOutputStream(file);//把数据写出fileOutputStream.write('h');fileOutputStream.write('e');fileOutputStream.write('l');fileOutputStream.write('l');fileOutputStream.write('o');//关闭资源
        fileOutputStream.close();}}

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;/*
需求: 拷贝一张图片。
*/
public class CopyImage {public static void main(String[] args) throws IOException {//找到目标文件File inFile = new File("F:\\美女\\1.jpg");File destFile = new File("E:\\1.jpg");//建立数据的输入输出通道FileInputStream fileInputStream = new  FileInputStream(inFile);FileOutputStream fileOutputStream = new FileOutputStream(destFile); //追加数据....//每新创建一个FileOutputStream的时候,默认情况下FileOutputStream 的指针是指向了文件的开始的位置。 每写出一次,指向都会出现相应移动。//建立缓冲数据,边读边写byte[] buf = new byte[1024]; int length = 0 ; while((length = fileInputStream.read(buf))!=-1){ //最后一次只剩下了824个字节fileOutputStream.write(buf,0,length); //写出很多次数据,所以就必须要追加。
        }//关闭资源 原则: 先开后关,后开先关。
        fileOutputStream.close();fileInputStream.close();}}

转载于:https://www.cnblogs.com/xufengyuan/p/6391338.html

FileOutStream相关推荐

  1. FileInputStream 和 FileOutStream流

    1. FileInputStream流 简介:FileInputStream实现类继承自抽象父类InputStream类,是一个基于字节输入流的类.利用FileInputStream类可以从硬盘文件中 ...

  2. 关于java中的各种流

    个人的最大感觉,你如果是想灵活使用流,那就去看jdk文档吧,上面说的很清楚,不需要去死记的,反正我是一次性记不住这么多东西. Input和Output 1. stream代表的是任何有能力产出数据的数 ...

  3. Java IO流总结(zz)

    一. Input和Output 1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有的stream(包括Input和Out stream)都包 ...

  4. java数据通道抽象为流_【java】IO流

    对于java的IO流的理解很长时间来都是很乱,包括学习其他的语言对这一块知识也都算是一个盲点.更多的时候一提到读取保存数据就是使用数据库.这一次学习了IO流,自己又解决了一个很大的盲点. IO流为我们 ...

  5. Java中的输入输出流

    文章目录 1 File类 1.1 File类的常用用法 2 字节流 2.1 字节输入流InputStream 2.1.1 字节输入流整体框架 2.1.2 FileInputStream的常用用法 2. ...

  6. 彻底明白Java语言中的IO系统

    ava的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等.Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入.在具体使用中很多初学者对Ja ...

  7. javaio流_万字长文+思维导图帮你梳理 Java IO 流,还学不会你来打我(值得收藏)...

    前言 在上一篇的文章获取不错的浏览量后,继续加更的念头一直徘徊在心中,本来是想花段时间深入学习tomcat的,可是tomcat的源码中就有至关重要的NIO,于是得先整一下NIO,但是NIO的基础是BI ...

  8. [Android]用架构师角度看插件化(3)-Replugin 需要占坑跳转?

    一.占坑 什么是占坑?为什么要占坑? Android插件化中,从一个插件Activity跳转到不同插件的Activity的时候,是否可以能正常跳转成功? 声明Activity需要配置什么? 声明Act ...

  9. 详细解读java IO

    一. Input和Output 1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有的stream(包括Input和Out stream)都包 ...

最新文章

  1. 不能成为专业软件测试人员的10大理由
  2. 图灵“亲自”给你讲人工智能
  3. iOS中安全结束 子线程 的方法
  4. 中国剩余定理及其拓展
  5. 【LeetCode笔记】142. 环形链表 II(Java、快慢指针)
  6. 什么是 JS 原型链?
  7. 创建 Oracle 物理备用服务器
  8. 代码管理学:功能实现,一定要与界面分开
  9. python进阶12 Redis
  10. Python机器学习基础教程
  11. 系统架构设计师-考试大纲
  12. 安卓动画系统 - 安卓R
  13. 两台服务器公用一个显示器,两台服务器链接一台显示器
  14. 大数据这么火,什么是大数据呢?-大萝卜博客网
  15. 邮箱前缀是什么?该怎么设置?
  16. 刚刚通过绿色通道拿到蚂蚁金服offer来和大家分享一下面试经验
  17. 微型计算机转移指令,川大《微机原理与应用(1)1351》14秋在线作业1答案
  18. PHP实现局域网或者广域网唤醒笔记本电脑wake on lan/wan
  19. win7 创建wifi热点。
  20. 恶梦护士 asa_噩梦就是JSON日期。 另外,JSON.NET和ASP.NET Web API

热门文章

  1. 解决ubuntu Gvim 菜单乱码
  2. return view前端怎么获取_前端判断上传图片格式
  3. iOS - 数据的归档和反归档
  4. 怎么把rmd改成html,在Rmd中的htmlTable - 转换为Word docx
  5. ffmpeg 怎么处理udp音频_视音频数据处理入门:UDP-RTP协议解析
  6. 运维一定要懂的100个网络安全小知识
  7. 高德最佳实践:Serverless 规模化落地有哪些价值?
  8. 用 Arthas “庖丁解牛”
  9. ftp服务器压缩文件,ftp压缩服务器文件
  10. mysql重装要删注册表_Mysql重装问题—删除注册表