首页 > 其他分享 >字节流写入文件

字节流写入文件

时间:2024-10-22 22:17:05浏览次数:6  
标签:文件 字节 fos 写入 write FileOutputStream byte

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

方法一:
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"代表在将字节写入文件的末尾而不是开头

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

标签:文件,字节,fos,写入,write,FileOutputStream,byte
From: https://blog.csdn.net/GZH_mxjx/article/details/143169690

相关文章

  • 通过命令行修改nacos配置文件
    通过命令行修改nacos配置文件1、介绍nacos-cli是一个命令行工具,用来代替nacos的图形界面操作。下载地址:GitHub-szpinc/nacos-cli:用终端命令行的方式操作nacos2、安装进入页面之后,下载对应的文件,上传到服务器上,授予执行权限,放到Linux执行文件bin目录,/usr/local/bin和/u......
  • 在Linux命令行下载Google Drive大文件(解决Google Drive下载慢的问题)
    文章目录1、使用gdown命令2、复制链接3、替换为Linux下载链接注意:在Linux命令行进行1、使用gdown命令wget只能下载小文件,大文件需要用到gdownpipinstallgdown#如果不能够直接安装,使用以下命令gitclonehttps://github.com/wkentaro/gdowncdgdownpipin......
  • 记录式文件的逻辑结构
    在计算机系统中,文件是数据存储的核心抽象。我们通常可以把文件视为一个可变长、可随机读写的数据流,但这种简单的描述掩盖了背后潜藏的复杂性——特别是文件的逻辑结构。不同类型的文件有不同的组织方式和访问策略,其中有些文件并没有明确的逻辑结构,我们可以将它们称为流式文件。这......
  • Vite配置打包分类文件
    概述vite默认的打包输出目录是dist/assets/目录,所有的js、css、img等资源都会默认输出到该目录下,文件名默认是[name].[hash:8].[filename]。对于小型项目来说,采用默认配置无伤大雅,但是如果工程比较大,就可以考虑将打包后的文件分类存放在不同目录下。具体配置vite是基于......
  • 利用Ida+gdb调试Share Object文件
    不知道出题方怎么将.so文件转换成了可执行程序(之后再议),可以直接运行,但当ida远程调试时,会被提示dynamiclinklibrary无法执行.虽然没有.so后缀,但用die可以检测出文件为DYN类型可以发现die检测出了他是DYN文件从文件结构分析,发现0200表示EXEC,0300表示DYN,顺便提......
  • 《盗贼遗产2》游戏启动时崩溃弹窗“找不到vcruntime140.dll”文件该怎么解决?盗贼遗产2
    当你满心欢喜地准备开启《盗贼遗产2》的游戏之旅,急切地点击游戏图标后,却遭遇了令人沮丧的崩溃状况。屏幕上弹出的错误提示窗仿佛一道无情的屏障,阻断了你与游戏世界的连接,上面赫然显示着“找不到vcruntime140.dll”的字样,让你一头雾水、不知所措。那么,究竟该如何解决这个棘......
  • 《小缇娜的奇幻之地》丢失d3dcompiler_47.dll游戏启动失败?《小缇娜的奇幻之地》d3dcom
    当你满怀期待地准备启动《小缇娜的奇幻之地》这款游戏时,却遇到了一个令人沮丧的错误提示:“d3dcompiler_47.dll丢失,游戏启动失败”。别担心,这个问题并非无解。下面,我们将为你介绍五种修复d3dcompiler_47.dll文件丢失的方法,帮助你重新踏上奇幻之旅。方法一:使用系统文件检查器(SF......
  • Windows系统lua51.dll文件丢失?Windows用户必看lua51.dll文件丢失的解决之道
    当Windows系统中的lua51.dll文件丢失时,可能会导致依赖它的软件或游戏无法正常运行。以下是一些针对Windows用户解决lua51.dll文件丢失问题的详细步骤:一、使用系统文件检查器(SFC)打开管理员命令行:按下Windows键+X,选择“命令提示符(管理员)”或“WindowsPowerShell(管理员)”。运......
  • 缺少exuikrn.dll文件怎么解决?exuikrn.dll找不到的处理方法
    exuikrn.dll是一个动态链接库文件,它可能与某些特定的应用程序或系统组件相关联。当您的计算机上缺少这个文件时,可能会遇到应用程序无法正常启动、运行时错误或者系统不稳定等问题。本指南将提供几种解决此问题的方法。解决方案一:重新安装相关软件1.识别缺失原因:首先确定是......
  • xinput1_4.dll丢失找不到怎么恢复?xinput1_4.dll文件解决方法
    xinput1_4.dll是微软DirectX的一部分,主要用于支持游戏控制器(如手柄)在Windows操作系统上的功能。如果你遇到了“xinput1_4.dll找不到”的错误提示,意味着你的系统可能缺少了这个文件或者该文件损坏了。本文将指导你通过几种方法来尝试修复这个问题。方法一:重新安装或更新Direct......