首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将字节写入文件的最佳方法

将字节写入文件的最佳方法
EN

Code Review用户
提问于 2012-05-07 06:15:35
回答 1查看 3.4K关注 0票数 2

我正在创建一个将byte[]保存到文件中的方法。这是我正在编写的一个Java助手,所以它需要能够处理任何类型的系统。我在这个例子上看到了FileOutputStream的方法write,它接受byte[]。但是我已经有了一个将输入流保存到文件中的方法。

哪一个是最好的?

备选方案1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
* Saves the given bytes to the output file.
*
* @param bytes
* @param outputFile
* @throws FileNotFoundException
* @throws IOException
*/
public static void saveBytesToFile(byte[] bytes, File outputFile) throws FileNotFoundException, IOException {
  ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
  saveInputStream(inputStream, outputFile);
}

/**
* Saves the given InputStream to a file at the destination. Does not check whether the destination exists.
*
* @param inputStream
* @param destination
* @throws FileNotFoundException
* @throws IOException
*/
public static void saveInputStream(InputStream inputStream, File outputFile) throws FileNotFoundException, IOException {
  try (OutputStream out = new FileOutputStream(outputFile)) {
    byte[] buffer = new byte[2097152];
    int length;
    while ((length = inputStream.read(buffer)) > 0) {
      out.write(buffer, 0, length);
    }
    inputStream.close();
  }
}

备选方案2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
* Saves the given bytes to the output file.
*
* @param bytes
* @param outputFile
* @throws FileNotFoundException
* @throws IOException
*/
public static void saveBytesToFile2(byte[] bytes, File outputFile) throws FileNotFoundException, IOException {
  FileOutputStream out = new FileOutputStream(outputFile);
  out.write(bytes);
}

显然,第二个更短更容易,但我只是想知道其中一个是否比另一个更理想。另外,作为附带说明,我想知道字节缓冲区的最佳大小

EN

回答 1

Code Review用户

回答已采纳

发布于 2012-05-07 06:58:11

考虑到JVM和Java标准库中已经投入了大量的精力和精力,第二个实现将会更快,这是一个虚拟的必然。

不过,这真的有关系吗?担心优化通常只有在系统性能不足时才有用。首先要担心功能和可读性,这要重要得多。当系统接近完成时,可以解决性能问题(如果存在的话),并且可以获得关于瓶颈所在位置的实际性能数据。

参见维基百科关于程序优化的文章--特别是“何时优化”一节

票数 6
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/11556

复制
相关文章
将文件字节输出流写入到文本中
1 package DEMO; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.OutputStream; 7 import java.util.Scanner; 8 9 /* 10 * 文件字节输出流 2014-7-29 11 * 1.给出输出流的目的地 12 * 2.创建指向目的地的输出流 13
Gxjun
2018/03/22
2.6K0
将文件字节输出流写入到文本中
Python将数据写入txt文件_python将内容写入txt文件
readlines() 会把每一行的数据作为一个元素放在列表中返回,读取所有行的数据
全栈程序员站长
2022/11/11
12.5K0
使用文件字节输出流FileOutputStream写入文件
1.代码 package d01_TestInput;/* * zt * 2020/8/7 * 11:11 * */ import java.io.FileOutputStream; public class TestFileOutputStream { public static void main(String[] args) throws Exception { //1.创建流 FileOutputStream fos = new FileOutp
2020/10/23
2.2K0
使用文件字节输出流FileOutputStream写入文件
python 将读取的数据写入txt文件_c中怎样将数据写入txt文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
6.4K0
Python: 将TXT文件写入MySQ
安装MySQLdb时,报错缺少Visual C++ 9.0。解决方法:下载并安装MySQL-python 1.2.5 . https://pypi.python.org/pypi/MySQL-python/1.2.5
py3study
2020/01/07
2.1K0
如何将报告写入文件?
在 Python 中,将报告写入文件的过程可以使用内置的文件操作功能,通常涉及以下几个步骤:
华科云商小徐
2024/12/09
1080
文件写入的6种方法
在 Java 中操作文件的方法本质上只有两种:字符流和字节流,而字节流和字符流的实现类又有很多,因此在文件写入时我们就可以选择各种各样的类来实现。我们本文就来盘点一下这些方法,顺便测试一下它们性能,以便为我们选出最优的写入方法。 在正式开始之前,我们先来了解几个基本的概念:流、字节流和字符流的定义与区别。 0.什么是流? Java 中的“流”是一种抽象的概念,也是一种比喻,就好比水流一样,水流是从一端流向另一端的,而在 Java 中的“水流”就是数据,数据会从一端“流向”另一端。 根据流的方向性,我们可以将流分为输入流和输出流,当程序需要从数据源中读入数据的时候就会开启一个输入流,相反,写出数据到某个数据源目的地的时候也会开启一个输出流,数据源可以是文件、内存或者网络等。 1.什么是字节流? 字节流的基本单位为字节(Byte),一个字节通常为 8 位,它是用来处理二进制(数据)的。字节流有两个基类:InputStream(输入字节流)和 OutputStream(输出字节流)。 常用字节流的继承关系图如下图所示:
崔笑颜
2020/12/23
6550
python将print输出结果写入文件
重定向标准输出流有两种方式,既可以在每个print方法中进行重定向,如下所示:
种花家的奋斗兔
2020/11/13
10.9K0
Python 将数据写入文件(txt、csv、excel)
一、将列表数据写入txt、csv、excel 1、写入txt def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') for i in range(len(data)): s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择 s = s.replace
菲宇
2019/07/31
41.3K0
python爬虫将数据写入csv文件乱码
养成习惯,先赞后看!!! 出现乱码根本原因就是编码方式不对,但是博主自己尝试了三种编码方式终于找到了最合适的。
萌萌哒的瓤瓤
2020/08/26
3.9K0
python爬虫将数据写入csv文件乱码
Java文件写入的6种方法
写程序时经常会碰到读写文件的场景,在Java中操作文件的方法本质上只有两种:字符流和字节流,而他们的实现类又有很多,因此,有时候用起来,就会比较乱。
bisal
2021/11/01
2.5K0
Java文件写入的6种方法
将文件夹中的文件信息统计写入到csv中
今天在整理一些资料,将图片的名字信息保存到表格中,由于数据有些多所以就写了一个小程序用来自动将相应的文件夹下的文件名字信息全部写入到csv文件中,一秒钟搞定文件信息的保存,省时省力!
小海怪的互联网
2019/09/18
9.2K0
文件写入的 6 种方法, 你知道几种
在 Java 中操作文件的方法本质上只有两种:字符流和字节流,而字节流和字符流的实现类又有很多,因此在文件写入时我们就可以选择各种各样的类来实现。我们本文就来盘点一下这些方法,顺便测试一下它们性能,以便为我们选出最优的写入方法。
程序狗
2021/12/13
7260
将List<Map>中的datas转换为json格式写入文件
private static boolean writeToTextFileByJson(List<Map<String, Object>> datas, String title, String columns, String fileName, String encode) { final BufferedWriter bw; boolean flag = true; try { boolean hasExists = new File(fileName).exists();
用户3003813
2018/09/06
6.6K0
python读取/写入配置文件ini方法
在写测试脚本时,经常有一些需要变动的数据,可以单独放在ini文件里,然后读取传递给
py3study
2020/01/08
9260
文件写入的6种方法,这种方法性能最好
在 Java 中操作文件的方法本质上只有两种:字符流和字节流,而字节流和字符流的实现类又有很多,因此在文件写入时我们就可以选择各种各样的类来实现。我们本文就来盘点一下这些方法,顺便测试一下它们性能,以便为我们选出最优的写入方法。
磊哥
2020/12/23
6020
文件写入的6种方法,这种方法性能最好
文件的读取写入
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
bering
2019/12/03
2.7K0
【JavaSE专栏75】字节输出流OutputStream,用于将字节数据写入到输出目标的流
本文讲解了 Java 中 字节流 OutputStream 类的语法,介绍了 OutputStream 类的应用场景,并给出了样例代码,字节输出流是用于将字节数据写入到输出目标的流。它以字节为单位进行写入操作,并提供了多种方法来写入不同类型的数据。
Designer 小郑
2023/08/14
4450
【JavaSE专栏75】字节输出流OutputStream,用于将字节数据写入到输出目标的流
python pandas读取csv文件_pandas将数据写入csv
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175441.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
5.9K0
python pandas读取csv文件_pandas将数据写入csv
通过Python脚本将DMP文件写入AWS RDS Oracle中
由于RDS(Oracle)不直接支持SSH,FTP(基于安全因素吧).所以原有系统expdp或exp出来的dmp文件,不能直接导入到RDS中。官方文档里建议通过networklink或者dblink的方式 从原有数据库迁移到RDS,考虑到网络和安全因素,此方法暂被忽略掉。
星哥玩云
2022/08/16
1.6K0

相似问题

将字节数组写入文件末尾

10

在Python3中将输入字节直接写入文件

10

使用.ser将一系列对象写入ObjectOutputStream文件并将其读取回的最佳方法

10

字节缓冲写入器

30

将字节数组转换为十六进制字符串的最佳方法

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文