Java写文件覆盖和不覆盖原内容

本文探讨如何使用Java将ByteBuffer转换为byte数组并写入文件。重点在于`FileOutputStream`的使用,当设置`append`参数为true时,会追加内容而不是覆盖原有数据。反之,如果不指定或默认为false,则会覆盖文件原有的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将ByteBuffer转为byte[]写入文件:
写文件覆盖原内容:
            data.flip();   //data是ByteBuffer对象
            byte []sampleData = new byte[size];
            data.get(sampleData);
            String path = "/sdcard/Download/merge_out.txt";
            try {
                FileOutputStream outputStream  = new FileOutputStream(new File(path));
                outputStream.write(sampleData);
                outputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
写文件不覆盖原内容
            data.flip();   //data是ByteBuffer对象
            byte []sampleData = new byte[size];
            data.get(sampleData);
            String path = "/sdcard/Download/merge_out.txt";
            try {
                FileOutputStream outputStream  = new FileOutputStream(new File(path),true);
                outputStream.write(sampleData);
                outputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }

注意: 区别在于

FileOutputStream outputStream  = new FileOutputStream(new File(path),true);

public FileOutputStream(File file, boolean append),当append是true时,不覆盖原内容;如果只传file一个参数,默认append是false,即覆盖原内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值