当前位置: 首页 > news >正文

字节流写入文件

一、创建输出流对象表示的文件三种方式

方法一:
FileOutputStream fos = new FileOutputStream("fos.txt",true);//最简便方法二:
FileOutputStream fos = new FileOutputStream(new File("fos.txt"));方法三;
File f = new File("fos.txt");
FileOutputStream fos = new FileOutputStream(f);

二、字节流写入数据的四种方式

void write (int b)将指定字节写入文件,一次写一个void write (byte[] b)将b.length字节从字节数组写入此文件输出流,一次写一个字节数组void write (byte[] b,int off,int len)将len字节从指定off偏移量开始写入文件byte[] getBytes()使用平台的默认字符集将该Stirng编码为一系列字节,将结果返回新的字节数组中

三、举几个例子

import java.io.*;
public class FileDemo_06 {public static void main(String[] args) throws IOException {//创建输出流对象表示的文件//方法一:FileOutputStream fos = new FileOutputStream("fos.txt");//最简便//方法二://FileOutputStream fos = new FileOutputStream(new File("fos.txt"));//方法三;//File f = new File("fos.txt");//FileOutputStream fos = new FileOutputStream(f);//void write (int b)将指定字节写入文件,一次写一个//void write (byte[] b)将b.length字节从字节数组写入此文件输出流,一次写一个字节数组//void write (byte[] b,int off,int len)将len字节从指定off偏移量开始写入文件//void write (int b)将指定字节写入文件,一次写一个fos.write(97);fos.write(98);fos.write(99);fos.write(100);fos.write(101);byte[] b1 = "\n".getBytes();//读入换行,方便观察呀fos.write(b1);//void write (byte[] b)将b.length字节从字节数组写入此文件输出流,一次写一个字节数组byte[] bys = {97,98,99,100,101,102};fos.write(bys);byte[] b2 = "\n".getBytes();//读入换行,方便观察呀fos.write(b2);//byte[] getBytes()使用平台的默认字符集将该Stirng编码为一系列字节,将结果返回新的字节数组中byte[] by = "汽车租赁系统4.0\n请输入你的选择:\n".getBytes();fos.write(by);fos.write(bys,2,3);//cde//释放资源,一定要记得fos.close();}
}

PS:讨论几个小问题

1、写入文件的的数据都是在同一行连续写入,没有换行

解决办法:使用byte[] getByte()方法,然后在你写入的字符串最后面加上\n

2、每次写入文件都会造成复写,即第二次的内容会覆盖前一次的内容,如何追加写入

解决办法:

FileOutputStream fos = new FileOutputStream("fos.txt",true);

创建输出流对象时,使用上面的构造方法,"true"代表在将字节写入文件的末尾而不是开头

使用追加写入的构造方法,运行两次后的结果

http://www.lryc.cn/news/466259.html

相关文章:

  • Torch模型导入
  • 博弈论:博弈类型空间集合;三层博弈拓展式;
  • 数据库表的关联、集合操作
  • word怎么清除格式,Word一键清除所有格式教程
  • ShardingProxy服务端分库分表
  • 开源的 FOC(Field-Oriented Control) 项目
  • 高等数学 5.5 反常积分的审敛法 Γ函数
  • 宝塔安装ffmpeg的方法
  • 案例分享-优秀蓝色系UI界面赏析
  • 陪诊小程序之uniapp(从入门到精通)
  • 深度学习(一)基础:神经网络、训练过程与激活函数(1/10)
  • 源代码加密技术的一大新方向!
  • SVN——常见问题
  • JavaCV 图像灰度化处理
  • 基于Multisim三极管B放大系数放大倍数测量电路设计(含仿真和报告)
  • Molmo模型实战
  • 免费开源的微信开发框架
  • 波形的变化和信号的产生1+multisim仿真
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(3)
  • 电脑微信多开方法,保姆级教学,超简单!
  • 【Mysql】-锁,行级锁
  • 手机功耗技术领域
  • Golang | Leetcode Golang题解之第493题翻转对
  • linux笔记(yum本地源仓库搭建)
  • K8S系列-Kubernetes网络
  • Excel 对数据进行脱敏
  • OJ-1014田忌赛马
  • Excel重新踩坑3:条件格式;基本公式运算符;公式中的单元格引用方式;公式菜单栏其他有用的功能说明;
  • 【AI知识点】FAISS如何提高检索效率?
  • 【Git】Gitlab进行merge request的时候,出现待合并分支合并了主分支的问题的解决