java.io.OutputStream & java.io.FileOutputStream

1、Java.io.OutputStream(字节输出流)

字节输出流,这是一个抽象类,是表示输出字节流的所有类的超类。下面是该类的子类都共有的方法:

方法 作用
public void close() 关闭输出流并释放与此流相关的任何系统资源
public void flush() 刷新输出流,并强制任何缓冲的输出字节被写出
public void write(byte[] b) 将b.length字节从指定的字节数组写入此输出流,内存写到硬盘
public void write(byte[] b, int off, int len) 从指定的b字节数组写入len字节,从偏移量off开始输出到此输出流
public abstract void write(int b) 将指定的字节输出到流

2、java.io.FileOutputStream extends OutputStream

构造方法 作用
FileOutputStream(String name) 创建一个有指定名称的文件,把FileOutputStream对象指向创建好的文件,如果文件已存在,则覆盖
FileOutputStream(File file) 创建一个有指定名称的文件,把FileOutputStream对象指向创建好的文件,如果文件已存在,则覆盖
FileOutputStream(String name, boolean append) 创建一个有指定名称的文件,把FileOutputStream对象指向创建好的文件,如果文件已存在,append为true则在原文件追加写,否则创建新文件,覆盖原文件
FileOutputStream(File file, boolean append) 创建一个有指定名称的文件,把FileOutputStream对象指向创建好的文件,如果文件已存在,append为true则在原文件追加写,否则创建新文件,覆盖原文件

参数:String name(写入的目的地是一个文件的路径)

File file(写入数据的目的地是一个文件)

构造方法的作用

  • 创建一个FileOutputStream对象
  • 根据构造方法传递的文件,文件路径创建一个文件
  • 将FileOutputStream对象指向创建好的文件

3、写入数据的原理(内存 --> 硬盘文件)

java程序 --> JVM --> OS --> OS调用写数据的方法 --> 把数据写入到文件

4、字节输出流的使用步骤

  • 创建一个FileOutputStream对象,构造方法中传递文件路径或者文件
  • 调用FileOutputStream对象的方法write,把数据写入到文件
  • 使用完毕要清空内存,释放资源
package cn.zhuobo.day14.streamOutput;

import java.io.FileOutputStream;
import java.io.IOException; public class Demo01FileOutputStream {
public static void main(String[] args) throws IOException {
// 创建一个FileOutputStream对象,构造方法中传递文件路径或者文件
FileOutputStream fos = new FileOutputStream("/home/zhuobo//Desktop/a.txt"); // 调用FileOutputStream对象的方法write,把数据写入到文件,指定的字节97 是 a
fos.write(97);
// 释放资源,close流
// fos.close();
byte[] bytes = {97, 98, 99, 100};// abcd
//fos.write(bytes);// aabbc
//fos.close();
fos.write(bytes, 1, 2);// bc
// 写入字符串
String str = "hello";
byte[] bytes1 = str.getBytes();// 字符串转化为字符数组再写入
fos.write(bytes1);
fos.write("\n".getBytes());// 换行
fos.close();
}
}

java.io.OutputStream & java.io.FileOutputStream的更多相关文章

  1. Java 持久化操作之 --io流与序列化

    1)File类操作文件的属性 1.File类的常用方法 1. 文件的绝对完整路径:getAbsolutePath() 文件名:getName() 文件相对路径:getPath() 文件的上一级目录:g ...

  2. 【Java】流、IO(初步)

    (这部分比较抽象且写的不是很好,可能还要再编辑) [概述] 流:流是一系列数据,包括输入流和输出流.你可以想象成黑客帝国的"代码雨",只要我们输入指令,这些数据就像水一样流进流出了 ...

  3. Java学习笔记之 IO包 字节流

    IO包最重要的五个类和一个接口 File/OutputStream/InputStream(字节流)/Writer/Reader(字符流) 一个接口:Serializable   File类: 字节流 ...

  4. 【java】io流之字节输出流:java.io.OutputStream类及子类java.io.FileOutputStream

    package 文件操作; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impo ...

  5. 【Java IO】FileInputStream 和 FileOutputStream

    class FileInputStream extends  InputStream implements Closeable

  6. Java IO: OutputStream

    原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) OutputStream类是Java IO API中所有输出流的基类.子类包括Buffere ...

  7. Java发送邮件报错:com.sun.mail.util.LineOutputStream.<init>(Ljava/io/OutputStream;Z)V

    在练习使用Java程序发送邮件的代码 运行出现了com.sun.mail.util.LineOutputStream.<init>(Ljava/io/OutputStream;Z)V报错信 ...

  8. JAVA基础知识之IO——Java IO体系及常用类

    Java IO体系 个人觉得可以用"字节流操作类和字符流操作类组成了Java IO体系"来高度概括Java IO体系. 借用几张网络图片来说明(图片来自 http://blog.c ...

  9. Java fundamentals of basic IO

    IO is a problem difficult to handle in various of systems because it  always becomes a bottleneck in ...

随机推荐

  1. 【BZOJ4316】小C的独立集(动态规划)

    [BZOJ4316]小C的独立集(动态规划) 题面 BZOJ 题解 考虑树的独立集求法 设\(f[i][0/1]\)表示\(i\)这个点一定不选,以及\(i\)这个点无所谓的最大值 转移\(f[u][ ...

  2. 【BZOJ3157/3516】国王奇遇记(数论)

    [BZOJ3157/3516]国王奇遇记(数论) 题面 BZOJ3157 BZOJ3516 题解 先考虑怎么做\(m\le 100\)的情况. 令\(f(n,k)=\displaystyle \sum ...

  3. 【转】RO段、RW段和ZI段 --Image$$??$$Limit 含义(zz)

    @2019-02-14 [小记] RO段.RW段和ZI段 --Image$$??$$Limit 含义(zz)

  4. 课后选做题:MyOD

    目录 OD命令了解 MyOD实现 OD命令了解 作用:od命令用于输出文件的八进制.十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符.常见的文件为文本文件和二进制文件.此 ...

  5. Python3 与 C# 基础语法对比(Function专栏)

      Code:https://github.com/lotapp/BaseCode 多图旧版:https://www.cnblogs.com/dunitian/p/9186561.html 在线编程: ...

  6. docker cmd list

    436 wget -qO- https://get.docker.com/ | sh 437 sudo apt-get update 438 sudo apt-get install -y docke ...

  7. ava EE 7 - Injection into Runnable/Callable object ejb entityManager Concurrency ManagedExecutorService 异步调用如何获取context

    或者直接把 MyTask类内嵌如MyBean中,这样可以在myBean中inject 数据库连接,在内嵌类内访问. java ee 引入了并发执行.因为是在服务器执行并发,所以要用java ee包里面 ...

  8. 洛谷P2762 太空飞行计划问题

    这题套路好深......没想渠. 题意:给你若干个设备,若干个任务. 每个任务需要若干设备,设备可重复利用. 完成任务有钱,买设备要钱. 问最大总收益(可以什么任务都不做). 解:最大权闭合子图. 对 ...

  9. 怎么自行HTTP的POST包头,需要使用json

    http://bbs.csdn.net/topics/390674431 不理解你为什么这么传 post的格式如下:POST / HTTP/1.1Host: www.wrox.comUser-Agen ...

  10. macs 学习

    点击 首先andriomianfest主配文件(主要配置文件),来启动主要的activity对象,然后通过该对象调用create方法来加载布局文件xml active通过布局文件的控件生成相应的对象. ...