将小端文件转换为大端文件

2024-02-15

如何将小端二进制文件转换为大端二进制文件。我有一个用 C 编写的二进制文件,我正在使用 Java 中的 DataInputStream 读取这个文件,该文件以大端格式读取。我还查看了 ByteBuffer 类,但不知道如何使用它来获得我想要的结果。请帮忙。

多谢


打开 NIO FileChannel:

FileInputStream fs = new FileInputStream("myfile.bin");
FileChannel fc = fs.getChannel();

设置 ByteBuffer 字节序(由 [get|put]Int()、[get|put]Long()、[get|put]Short()、[get|put]Double() 使用)

ByteBuffer buf = ByteBuffer.allocate(0x10000);
buf.order(ByteOrder.LITTLE_ENDIAN); // or ByteOrder.BIG_ENDIAN

从 FileChannel 读取到 ByteBuffer

fc.read(buf);
buf.flip();
// here you take data from the buffer by either of getShort(), getInt(), getLong(), getDouble(), or get(byte[], offset, len)
buf.compact();

为了正确处理输入的字节顺序,您需要确切地知道文件中存储的内容以及存储的顺序(所谓的协议或格式)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将小端文件转换为大端文件 的相关文章

  • Keytool 应用程序在哪里?

    我需要在android中使用mapview控件 但我似乎不明白如何运行keytool 是用eclipse安装的吗 我好像找不到下载链接 Thanks keytool http docs oracle com javase 7 docs te
  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • 未找到 MessageSource 的 ResourceBundle [消息]:找不到基本名称消息的包

    在 applicationContext xml 中 我定义了 MessageSource 如下所示
  • 如果在睡眠线程上调用interrupt()会发生什么?

    我有一个线程 然后run I call sleep 如果我中断这个线程会发生什么 MyThread extends Thread public void run try sleep 1000000 catch InterruptedExce
  • Java:使用 HttpURLConnection 的 HTTP PUT

    如何执行 HTTP PUT 我正在使用的类似乎认为它正在执行 PUT 但端点将其视为我执行了 GET 我做错了什么吗 URL url new URL https HttpURLConnection conn HttpURLConnectio
  • 在文本文件中搜索单词并返回其频率

    如何在包含单词文本的文本文件中搜索特定单词并返回其频率或出现次数 使用扫描仪 String text Question how to search for a particular word in a text file containin
  • Condition 接口中的 signalAll 与对象中的 notificationAll

    1 昨天我才问过这个问题条件与等待通知机制 https stackoverflow com questions 10395571 condition vs wait notify mechanism 2 我想编辑相同的内容并在我的问题中添加
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • 如何记录来自 Akka (Java) 的所有传入消息

    在 Scala 中 您可以使用 LoggingReceive 包装接收函数 如何通过 Java API 实现相同的目标 def receive LoggingReceive case x do something Scala API 有Lo
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • 对象锁定私有类成员 - 最佳实践? (爪哇)

    I asked 类似的问题 https stackoverflow com questions 10548066 multiple object locks in java前几天 但对回复不满意 主要是因为我提供的代码存在一些人们关注的问题
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • Java:多线程内的 XA 事务传播

    我如何使用事务管理器 例如Bitronix http docs codehaus org display BTM Home JBoss TS http www jboss org jbosstm or Atomikos http www a
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A

随机推荐

  • 如何在 PHP 中模拟单精度浮点运算?

    我需要将一个简单的 C 程序移植到 PHP 目前我们必须启动该过程并解析其输出 程序很琐碎 但是对于算法的使用很重要float因为错误会累积起来 结果会大相径庭 C 示例 include
  • 强制 jQuery UI Datepicker 显示在输入字段下方

    我有一个页面 其中包含一个表单和几个字段 我的问题如下 我试图强制 jQuery UI 日期选择器显示在输入字段下方 当我单击输入字段时 我希望该字段也滚动到页面顶部 我想我有这个工作 这是我的 jQuery JQUERY document
  • 如何使用 getMouse() 捕获右键单击事件

    我正在尝试使用graphics py 编写用户图形界面 问题是如何捕获右键事件呢 看来函数 getMouse 只能返回鼠标左键单击的位置作为 Point 对象 from graphics import def main win GraphW
  • 使用 servlet 将动态图像传递到 JSP

    我有一个桌面应用程序 可以创建图形 2D 对象 将其粘贴在面板中并进行绘制 我正在尝试使用 servlet 和 jsp 将此应用程序转换为网页 我已经在网上阅读了两天 但无法理解如何做到这一点 我发现的每个例子似乎都遗漏了一个重要的部分 我
  • Teamcity 无法通过 nuget 安装软件包

    已解决 请参阅评论 我在 team city 有一个项目无法安装所需的软件包 这已经工作了一年多 但本周所有构建都开始失败 我的开发流程如下 我们使用github并使用Visual Studio进行本地开发 我们有一个 Windows te
  • 使用对象过滤嵌套数组

    我有一系列类别 每个类别实例都有优惠属性 class Category var offers Offer var title String var id Int class Offer var type String global vari
  • 从 eclipse 运行 Visual VM

    我正在尝试在 Eclipse kepler 中使用 Visual VM 调试 java 应用程序 我正在执行具有选择 Visual VM 作为启动器的主要方法的类 我已经按照中给出的说明配置了 Visual VMhttp blog idrs
  • Chrome 中的 CSS3 过渡不平滑

    我使用 CSS3 过渡根据鼠标悬停时的边距值对某些链接进行动画处理 它的动画效果符合预期 但 Chrome 中的动画并不像其他浏览器 如 Firefox IE10 那样流畅 在 Chrome 中 当我将鼠标悬停在链接上时 所有其他链接都会稍
  • 字符串文字和数组的地址

    int main char str1 Hi str2 Bye printf u u n str1 str1 int arr 5 1 2 3 4 5 printf u u arr arr 这里发生了什么 str and str给出不同的地址和
  • 如何修复 webkit-fake-url 的含义?

    当您尝试复制并粘贴到 Safari Web 浏览器时 浏览器会插入webkit fake url 在 Chrome 中 你可以这样做getAsFile 在剪贴板数据上读取图像 你能用 Safari 做类似的事情吗 不可以 目前无法在 Saf
  • 将 Azure Active Directory 用户添加到 Azure SQL 数据库

    我有一个 Azure SQL Server 可以通过 SSMS 进入其中 我还有一个 Azure Active Directory 其用户名为 电子邮件受保护 cdn cgi l email protection 我想添加此用户以拥有对我的
  • Spark Streaming kafka 偏移量管理

    我一直在做 Spark Streaming 工作 通过 kafka 消费和生成数据 我使用的是directDstream 所以我必须自己管理偏移量 我们采用redis来写入和读取偏移量 现在有一个问题 当我启动我的客户端时 我的客户端需要从
  • 一个通用的Windows应用程序如何拥有多个独立的窗口(如微软的应用程序“照片”)?

    我确实知道如何使用打开其他窗口TryShowAsStandaloneAsync 然而 如果原来的窗口是关闭的 TryShowAsStandaloneAsync失败 为什么 我不知道如何 复活 它 https stackoverflow co
  • libgdx 绘制汉字

    我喜欢在我的应用程序中打印中文文本 1 当我尝试这个时 屏幕将是空的 控制台没有错误 创建方法 FreeTypeFontGenerator gen new FreeTypeFontGenerator Gdx files internal f
  • Golang编写的UDP客户端无法接收来自服务器的消息

    我写了一个Java客户端 它向广播地址发送消息 我还编写了一个Java服务器 它接受所有发送的消息并将消息发送回客户端 现在我想尝试在 Go 中做同样的事情 只是为了获得一些经验 服务器工作正常 正在接收消息并对 Java 客户端做出响应
  • 删除数组中的所有值,同时保持键不变

    我真的必须这样做才能重置阵列吗 foreach array as i gt value unset array i EDIT 这个更有意义 因为前一个相当于 array array foreach array as i gt value a
  • ARC 并释放方法中创建的对象

    我偶然发现了一个在其他地方找不到答案的问题 当我调用一个返回指向稍后使用的对象的指针并最终设置为 nil 的方法时 它仍然分配在内存中 根据 Instruments 我正在使用 XCode 4 6 3 和 iOS 6 1 ARC 已打开 这
  • OpenCv中如何将Mat的一行复制到另一个Mat的列?

    我有两个垫子 A size 1 640 B size 640 480 我想将 A 复制到 B 的第一列 所以我使用A copyTo B col 0 但是这失败了 怎么做 你走在正确的轨道上 Mat col是要使用的匹配工具 但要注意 简单地
  • appjs - 编译成单个可执行文件?

    我花了整晚的时间尝试不同的工具来通过 html5 构建跨平台桌面应用程序 到目前为止 appjs 似乎很完美 我只玩过基于 Windows 可执行文件的演示项目 但我想知道是否有任何指南或教程介绍如何将项目转换为跨平台可执行文件 单个文件
  • 将小端文件转换为大端文件

    如何将小端二进制文件转换为大端二进制文件 我有一个用 C 编写的二进制文件 我正在使用 Java 中的 DataInputStream 读取这个文件 该文件以大端格式读取 我还查看了 ByteBuffer 类 但不知道如何使用它来获得我想要