问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java输出流FileOutputStream的详细使用

发布网友 发布时间:2024-09-25 14:36

我来回答

1个回答

热心网友 时间:2024-11-15 13:58

上一节描述了如何使用输入流FileInputStream从本地文件读取数据. 本节介绍应用程序输出文件FileOutputStream,以将数据写入本地文件.
使用FileOutputStream写入文件的过程如下:
使用FileOutputStream写入文件的过程与使用FileInputStream的过程相同. 两者都使用File类打开本地文件,实例化输入和输出流,然后调用该流的读写方法以读取或写入数据,最后关闭该流.
FileOutputStream的构造方法
FileOutputStream提供了四种用于实例化FileOutputStream对象的常用构造方法. 在不同的场景中使用不同的构造方法.
场景1: 使用File对象打开本地文件并从文件中读取数据.
场景2: 不使用File对象,而是直接传递文件路径.
FileOutputStream的构造方法允许直接在文件路径中传递而不使用File对象. 查看构造方法的源代码,该方法使用File对象打开文件.
场景3: 打开文件并将数据添加到文件末尾.
场景要求将数据写入文件末尾. 由于前两个构造函数都开始将数据写入文件(覆盖原始文件),因此无法使用前两个场景的构造函数. FileOutputStream分别提供了另外两种构造方法:
FileOutputStream(文件文件,布尔值附加);
FileOutputStream(字符串名称,布尔值附加);
与以前的构造方法相比,这两种构造方法均具有附加的布尔参数附加. 当append参数为true时,将从文件末尾写入数据;否则为false. 当append参数为false时,数据将覆盖原始文件.
FileOutputStream编写方法
FileOutputStream类提供了多种文件写入方法. 您可以单独将字节写入文件,可以将字节数组写入文件,也可以将字节数组数据的一部分写入文件.
示例1: 使用write(int b)方法写入文件.
示例程序首先调用File类的createNewFile()创建new.txt文件,然后将str的内容写入新创建的new.txt文件.
示例2: 使用write(字节[] b)方法写入文件.
The
write(byte [] b)方法用于将b.length个字节从指定的字节数组写入输出流.
String类的getBytes()方法可以将字符串转换为字节数组,并使用FileOutputStream类的write(byte [] b)方法将转换后的字节数组写入文件.
示例3: 使用write(字节[] b,int offfilestream方法参数,int len)方法写入文件.
此方法从数组b的关闭位置开始将len字节的数据写入输出流.
程序将指定的str内容写入文件. fos.write(str.getBytes(),5,10)语句的第一个参数是字节数组,第二个参数5是字节数组中的下标. 从5开始,第三个参数是写入的字节数. 程序执行后,写入内容为“是新文件”.
使用此方法时,必须注意数组超出范围的问题. 例如,如果字节数组的长度为20(从下标12开始),则向文件写入15个字节将导致数组越过边界,程序将报告错误.
示例4: 使用FileOutputStream复制文件
复制文件是将源文件数据写入新文件. 在实际编程中filestream方法参数,有很多方法可以复制文件. 在这种情况下,FileInputStream和FileOutputStream用于复制文件.
代码中的copyFile完成文件复制. 复制之前,首先要确定源文件是否存在,然后申请字节数组来存储读取的源文件数据,数组的大小和源文件的总字节数相同,读取成功后,然后将数组的内容写入目标文件. 该程序的输出如下所示:
■知识拨盘
使用FileOutputStream流可以将字节数据写入目标文件. FileOutputStream提供了单字节写入和字节数组写入的两种方式. 建议使用字节数组进行写入,将要写入的数据存储到字节数组中,然后再写入文件. 当写入文件已经存在时,您需要指出写入方法是覆盖还是附加.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
你家的水龙头起泡器该换了 如何打开水龙头起泡器 网上卖门锁,安装如何解决 广告装潢需要哪些设备 广告制作需要哪些材料 开锦旗招牌广告制做店须要什么 广告店需要哪些耗材 长安之星发动机水泵要坏之前声音怎么判断 家有孕妇咋调理:280天贴心呵护生健康宝贝图书信息 哪些是适合孕妇看的书 中间那个符号是什么,急求 求问这是什么符号,忘了! 求问下面公式里面那个无穷的符号是什么意思? 中间的符号是什么意思。求学霸解答。 求要中间的符号,具体看图片 联想Y9000P能用i56500的主板吗? ...cpu想用i5 6500主板选微星的B150 GAMING M3可以么? 954776是诈骗电话吗 心理学的首因效应是什么 首因效应即在人的心理中,第一印象 探究心理学中称为“首因效应”,第一印象背后的原理 ...指的是人的第一印象所带来的效果。因此给人的第一印象非常重要,有哪 ... 完美世界86更新时间几点 如何将照片传到手机sd卡里 梦到已经去世的人出殡然后又活了 怎样把手机里的照片转存到SD卡里? 零卡零糖还好吃的韩国食品有哪些? 索爱W800和810的区别? 推荐一款适合女生用的索爱手机 W958C索爱 W958c 商务功能 outputstream java输出流:FileOutputStream output=new FileOutputStream("temp.dat... 单位领导和员工一起聚餐,席间领导把酒泼在员工脸上,这件事你怎么看? 在12306买高铁票好,还是携程??? SNMP数据 网络协议之snmp协议 乘坐高铁临时身份证怎么办理 高铁票临时身份证怎么办理 1688铺的货该怎么发货 有没有便宜又好用的国际快递啊?我想从淘宝或1688买东西寄来美国,都... 动车相关报道 动车组用学生证能打折吗,火车和动车如果要打折的话必须得是学生证上... 哈尔滨铁路局关于动车组执行票价优惠方案的公告(6月13日)-铁路资讯... 石家庄动车组票价打折吗? D字头列车票价最低6折 动车车票是怎么折扣的5 QQ空间的特别关心,能查出是什么时候关注的这个人吗 bndal10和bndal00有什么区别(bndal10) 15款起亚k3是几缸的发动机起亚k3是几缸车 华为mate40pro漏液会越来越大吗