当前位置: 首页 > 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.mrgr.cn/news/56454.html

相关文章:

  • C#运动控制
  • bug的定义和测试
  • C语言 | Leetcode C语言题解之第480题滑动窗口中位数
  • 在Xshell中查看日志文件详情
  • 深度解析模型调优与正则化:L1、L2正则化及偏差-方差的权衡
  • PostgreSQL的学习心得和知识总结(一百五十五)|[performance]优化期间将 WHERE 子句中的 IN VALUES 替换为 ANY
  • 理解CPU怎么执行一条指令
  • 【flask web】 Blueprint 蓝图 路由模块化
  • 2、图像的特征
  • 技术经济学·技术经济分析指标体系与基本原则
  • 在金融领域,机器学习算法优化的成功案例有哪些?
  • 【C++复习】Map Set HashMap HashSet的模拟实现{代码分享}
  • 马拉车算法(C/C++)
  • 3184. 构成整天的下标对数目 I
  • 车规芯片SOC简介
  • web服务器介绍
  • 图文深入理解Oracle Total Recall
  • 【JavaEE初阶】网络编程TCP协议实现回显服务器以及如何处理多个客户端的响应
  • GJS-WCP
  • [ 钓鱼实战系列-基础篇-5 ] 一篇文章教会你用红队思维设计钓鱼模板(附常见的钓鱼邮件模板)
  • Tcp协议讲解与守护进程
  • Docker基础知识教程(最详细最全)
  • Android 拦截第三方推送的通知消息或系统消息或通知栏
  • 【C++、数据结构】二叉排序树(二叉查找树、二叉搜索树)(图解+完整代码)
  • C++入门知识
  • 【二刷hot100】day 4