Day16_97_IO_FileOutputStream 写入字节流
FileOutputStream 写入字节流
* java.io.OutPutStream -----> java.io.FileOutputStream 将计算机内存中的数据写于磁盘中.
* 创建字节输出流有两种方式
- 方式一: new FileOutputStream(fileName); 该种方式,没有添加追加操作,这样创建的输出流对象,如果执行第二次的话,第二次写入的内容会把第一次写入的内容覆盖掉。
- 方式二: new FileOutputStream(fileName,true); 该种方式,添加了追加操作,这样创建的输出流对象,执行第二次的话,不会覆盖第一次写入的内容,会在后边进行追加内容。
* 将字符串转换为byte[]数组: byte[] bytes=String str.getBytes();
* 两种写入方式:
- 方式一:将bytes数组中的数据,全部写入 fos.write(bytes);
- 方式二 : 将bytes数组中的一部分写入 fos.write(bytes, 0, 5); 表示从数组bytes的下标0开始写入,写入长度为5.
* fos.flush(); 清空内存缓冲区数据,从而保证完整写入
* 代码:
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamTest01 {
public static void main(String[] args) {
//创建文件路径
String fileName="D:\\TestFile\\JavaTestFile\\FileOutputStreamTest01.txt"; //该文件不存在的话 会自动创建
//创建文件字节输出流
FileOutputStream fos=null;
try {
//创建输出流
//方式一 不添加追加操作 这样创建输出流对象,如果执行第二次的话,第二次写入的内容会把第一次写入的内容覆盖掉
//fos=new FileOutputStream(fileName);
//方式二 添加追加操作 这样创建输出流对象,执行第二次的话,不会覆盖第一次写入的内容,会在后边进行追加内容
fos=new FileOutputStream(fileName,true);
//开始写入字节流操作
//创建要写入的对象
String message="Hello World!";
//创建byte数组
byte[] bytes=new byte[message.length()];
//将字符串转换为byte数组
bytes=message.getBytes();
//开始写入
// 写入方式一: 将bytes数组中的数据,全部写入。
//fos.write(bytes); // Hello World!
//方式二 : 将bytes数组中的一部分写入 表示从下标0开始写入,写入长度为5.
fos.write(bytes,0,5); // Hello
//强制写入
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(fos!=null){
try {
System.out.println("写入成功");
//关闭流
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Day16_97_IO_FileOutputStream 写入字节流的更多相关文章
- uniapp中拿到base64转blob对象,或base64转bytes字节数组,io操作写入字节流文件bytes
1. uniAPP中拿到附件的base64如何操作,如word文件 /*** 实现思路:* 通过native.js的io操作创建文件,拿到平台绝对路径* 再通过原生类进行base64解码,拿到字节流b ...
- File相关的读取和写入以及复制
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileI ...
- 读取 java.nio.ByteBuffer 中的字符串(String) 写入方式flash.utils.ByteArray.writeUTF
通过研究ByteArray的写入格式以及方法说明,可以发现writeUTF是先使用2位写入字符串的长度,然后在其后写入字符串编码. flash.utils.ByteArray.writeUTF(val ...
- Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
第一讲 IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都 ...
- Struts的文件上传下载
Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...
- JAVA的序列化和持久化的区别与联系
持久化(Persistence) 即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘).持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中.XML数据文 ...
- android SharedPreferences 存储对象
我们知道SharedPreferences只能保存简单类型的数据,例如,String.int等. 如果想用SharedPreferences存取更复杂的数据类型(类.图像等),就需要对这些数据进行编码 ...
- 【转】输入/输出流 - 深入理解Java中的流 (Stream)
基于流的数据读写,太抽象了,什么叫基于流,什么是流?Hadoop是Java语言写的,所以想理解好Hadoop的Streaming Data Access,还得从Java流机制入手.流机制也是JAVA及 ...
- 黑马程序员_Java基础:序列化(Serializable)与反序列化
------- android培训.java培训.期待与您交流! ---------- 在学习IO中的ObjectOutputStream和ObjectInputStream时,会涉及到序列化和反序列 ...
随机推荐
- 微信小程序(二)-语法学习
语法学习 一 模板语法 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/ 1.数据代码 // pages/bl ...
- cxf实例异常
基于CXF2.3.0 Caused by: java.lang.InstantiationException: org.apache.cxf.wstx_msv_validation.WoodstoxV ...
- abp中多种登陆用户的设计
项目地址:https://gitee.com/bxjg1987/abp 场景 在<学校管理系统>中,学生.家长.教师.教务都可能登陆,做一些属于他们自己的操作.这些用户需要的属性各不相同, ...
- HDOJ-1074(动态规划+状态压缩)
Doing Homework HDOJ-1074 1.本题主要用的是状态压缩的方法,将每种状态用二进制压缩表示 2.状态转移方程:dp[i|(1<<j)]=min(dp[i|(1<& ...
- 创建一个scrapy爬虫框架的项目
第一步:打开pycharm,选择"terminal",如图所示: 第二步:在命令中端输入创建scrapy项目的命令:scrapy startproject demo (demo指的 ...
- JavaScript快速上手
引入JavaScript项目 在html中 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- C# 应用 - 使用 HttpListener 接受 Http 请求
1. 库类: \Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\System.dll System.Net.HttpListen ...
- WPF 基础 - x 名称空间详解
名称 种类(默认Attribute) 备注 x:Array 标记拓展 可作为 ListBox.ItemsSource 的值 x:Class 指定与 .cs 中哪个类合并,所指示的类型在声明时使用 pa ...
- ch1_5_1统计最大最小元素的平均比较次数
public class ch1_5_1统计最大最小元素的平均比较次数 { public static void main(String[] args) { // TODO Auto-generate ...
- Cookie与Session的安全性
说到cookie与session我们首先要说一下为什么要引入这两个东西,这两个多西到底是干什么的 起源 由于HTTP协议使无状态的: 每一次请求都是新的请求,不会记得之前通信的状态 客户端与服务端的一 ...