java.io.OutputStream & java.io.FileOutputStream
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的更多相关文章
- Java 持久化操作之 --io流与序列化
1)File类操作文件的属性 1.File类的常用方法 1. 文件的绝对完整路径:getAbsolutePath() 文件名:getName() 文件相对路径:getPath() 文件的上一级目录:g ...
- 【Java】流、IO(初步)
(这部分比较抽象且写的不是很好,可能还要再编辑) [概述] 流:流是一系列数据,包括输入流和输出流.你可以想象成黑客帝国的"代码雨",只要我们输入指令,这些数据就像水一样流进流出了 ...
- Java学习笔记之 IO包 字节流
IO包最重要的五个类和一个接口 File/OutputStream/InputStream(字节流)/Writer/Reader(字符流) 一个接口:Serializable File类: 字节流 ...
- 【java】io流之字节输出流:java.io.OutputStream类及子类java.io.FileOutputStream
package 文件操作; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impo ...
- 【Java IO】FileInputStream 和 FileOutputStream
class FileInputStream extends InputStream implements Closeable
- Java IO: OutputStream
原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) OutputStream类是Java IO API中所有输出流的基类.子类包括Buffere ...
- Java发送邮件报错:com.sun.mail.util.LineOutputStream.<init>(Ljava/io/OutputStream;Z)V
在练习使用Java程序发送邮件的代码 运行出现了com.sun.mail.util.LineOutputStream.<init>(Ljava/io/OutputStream;Z)V报错信 ...
- JAVA基础知识之IO——Java IO体系及常用类
Java IO体系 个人觉得可以用"字节流操作类和字符流操作类组成了Java IO体系"来高度概括Java IO体系. 借用几张网络图片来说明(图片来自 http://blog.c ...
- Java fundamentals of basic IO
IO is a problem difficult to handle in various of systems because it always becomes a bottleneck in ...
随机推荐
- SDOI2017 Round1 简要题解
我们 TM 怎么又要上文化课..我 哔哔哔哔哔哔 「SDOI2017」数字表格 题意 有 \(T\) 组数据,求 \[ \prod_{i = 1}^{n} \prod_{j = 1}^{m} fib[ ...
- Codeforces 700 C. Break Up(Tarjan求桥)
题意 给你一个有 \(n\) 个点, \(m\) 条边的无向图,每条有边权 \(w_i\) ,现在要选择至多两条边断开,使得 \(S, T\) 不连通,并且使得边权和尽量小. \(n \le 1000 ...
- 洛谷P1224 向量内积
什么毒瘤...... 题意:给定n个d维向量,定义向量a和b的内积为 求是否存在两个向量使得它们的内积为k的倍数,并给出任一种方案.k <= 3. 解:很容易想到一个暴力是n2d的.显然我们不能 ...
- A1122. Hamiltonian Cycle
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...
- (转)ZooKeeper的Znode剖析
ZooKeeper的Znode剖析 https://blog.csdn.net/lihao21/article/details/51810395 根据节点的存活时间,可以对节点划分为持久节点和临时节点 ...
- dos下编译java
dos下运行java程序,不借助其他的IDE,即可编译运行java程序. 工具/原料 电脑 方法/步骤 打开开始,运行cmd,进入dos界面. 分别运行java,和javac,检测jd ...
- JDBC批处理(Batch)MySQL中的表
在数据库test里先创建表school,内容如下 向school表中一次增加多行.addBatch,executeBatch import java.sql.Connection; import ja ...
- Luogu2495[SDOI2011]消耗战
题目描述 在一场战争中,战场由\(n\)岛屿和\(n-1\)个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为\(1\)的岛屿,而且他们已经没有足够多的能源维系战 ...
- MYSQL二进制5.7.安装
一.下载MySQL二进制软件包 下载连接:MYSQ安装包下载 官网MySQL有四个版本:GA版.DMR版.RC版.Beta版.一般生产和测试环境使用GA版(常规可用的版本,经过bug修复测试) 二.安 ...
- script weixin app / weixin xiao chen xu
s 开发人员: 1.设置权限程序员管理人员-管理体验者-配置测试人员的真实微信号2.微信小程序的后台-上传体验版代码-生成体验码二维码测试人员: 1.你的台式机/笔记本申请内外网.有usb权限2.有W ...