当前位置: 首页 > 面试题库 >

在Java中,当使用DataOutputStream写入文件时,如何定义要写入的数据的字节序?

艾照
2023-03-14
问题内容

我正在DataOutputStream写文件,但是我想更改数据的字节序。

这就是我将字节数据写入文件的方式(默认情况下以Little Endian输出)

public void generateBinObjFile(String outputFile)
    try {
        // Create file

        DataOutputStream stream = new DataOutputStream(
                new FileOutputStream(outputFile));

        stream.writeShort(this.quantize(this.xComponents.get(index), //<-- Short is written in little Endian
                    this.min_x, this.max_x) - 32768);

        } // catch statements here

有没有一种方法可以定义字节数据如何用Java编写的字节序?


问题答案:

您无法使用DataOutputStream,而总是使用big endian。

可以
使用ByteBuffer调用order()来影响其读取和写入数据的方式。

您可以使用ByteBuffer 任一 来准备byte[],你会用一个经典的写OutputStream上后
完全去NIO和使用任何WritableByteChannel的写作



 类似资料:
  • 问题内容: 如何在Java中将字节数组写入文件? 问题答案: 可以使用IOUtils.write(字节[]数据,OutputStream的输出)从Apache的百科全书IO。

  • 问题内容: 我正在做一个实验,我们必须读取一个外部文件,对数据进行一些统计,然后使用统计信息创建和写入新文件。除了编写文件,程序中的所有内容都可以正常工作,我无法理解为什么我的方法不起作用。 问题答案: 您必须冲洗并关闭编写器:

  • 我有一个存储在变量中的数据,然后我想把我的数据写到excel文件中。xlsx)。(即)我使用自动化测试工具,如硒从网页上获取数据,我把它存储在变量,我想写在xlsx文件 在大量的谷歌搜索后,我发现许多用户使用列表或对象来写入。xlsx文件。 我创建了一个列表并将我的变量添加到该列表中,并使用循环语句(for循环)通过打印来检查我的数据是否存储在列表中。 然后我创建了XSSFWorkbook和XSS

  • 问题内容: 使用Java在文件中间写入字节的最佳方法是什么? 问题答案: 在文件中间进行读写与在Java中使用一样简单。 尽管有它的名字,但它更像是和而不是像。它使您可以读取或查找文件,然后开始写您想停在的字节。 一旦发现此类,如果您对常规文件I / O有基本的了解,它将非常容易使用。 一个小例子:

  • 我有一个格式化的ebcdic字节[],是我用自定义代码创建的。现在我想写入文件。我可以用Java来实现这一点。我试着用Spring writer检查一下我是否能做到这一点。我试着使用FlatFileItemWriter。但只是将一组对象写入文件。还有一个问题是,条目编写器还会在每个条目后面引入一行新词。然而,Ebcdic是整个文件的单个字节流。ItemWriter ebcdicByteWriter

  • 这更像是一个良心问题,而不是一个技术问题:p我正在编写一些java代码来从服务器下载文件。。。为此,我使用了BufferedOutputStream方法write()和BufferedInputStream方法read()。 所以我的问题是,如果我使用缓冲区来保存字节,那么要读取的字节数应该是多少?当然,我可以使用int byte=read()逐字节读取,然后写入(byte),或者我可以使用缓冲区