【问题标题】:Reading and writing a file in java in hexadecimal?在java中以十六进制读取和写入文件?
【发布时间】:2015-12-08 09:49:37
【问题描述】:

我找不到我要找的东西。无论如何在java中通过十六进制值读取文件并写入另一个文件?如果我想获取一个文件并创建一个新文件,其中每个十六进制值都递增,我该怎么做?就像我有一个说“你好”的 txt 文件,并且我递增每个十六进制值,以便它应该说“Ifmmp”。

如何逐个十六进制读取文件(任何文件,而不仅仅是 ASCII 文本文件),然后一次写入一个十六进制文件?

【问题讨论】:

标签: java io hex


【解决方案1】:

我相信这就是你要找的……

这是从文件中读取并获取文件中每个部分的十六进制值的代码。

/*
    Code which defines a scanner class and FileInputStream
*/
String lineInFile = scannerName.nextLine();
int[] convertMeToHex = new int[lineInFile.length()];

for (int i = 0; i < convertMeToHex.length; i++)
    convertMeToHex[i] = (int) lineInFile.charAt(i);

String[] hex = new String[convertMeToHex.length];

for (int i = 0; i < convertMeToHex.length; i++)
    hex[i] = Integer.toHexString(convertMeToHex[i]));

您可以使用int hexToInt = Integer.parseInt(hexNumber, 16); 将十六进制转换回整数

【讨论】:

  • 所以这不只是读取一个字符串?我认为 nextLine() 只会读取一串文本。如果我在图像文件之类的东西上使用它,它仍然可以正常工作吗?
  • 您也想处理图片吗?我假设通过读取文件意味着读取一些文本或二进制文件 (.dat)。当您说读取和写入另一个文件时,我假设是二进制文件或文本文件(您必须将我上面的代码调整为二进制文件)。对于其他文件,您可以查找代码,但是将图片转换为字节数组的一种方法是:stackoverflow.com/questions/858980/file-to-byte-in-java
  • 我的意思是任何文件。加载一个 microsoft word 文件并弄乱它,打开一个 jpg 图像并弄乱它,获取一个音乐文件并弄乱它。我的意思只是一个文件,无论类型或意图如何。我将要使用的文件适用于许多不同的事物,并不真正适合任何已定义的类型。我不太确定它们的用途,但与它们搞乱会告诉我当它们破坏其他东西时它们会做什么。所以,只是所有文件。
猜你喜欢
  • 1970-01-01
  • 2015-01-26
  • 1970-01-01
  • 1970-01-01
  • 2020-10-25
  • 1970-01-01
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多