Я задал вопрос выше, но я предполагаю, что вы хотите выполнить HexDump, рассмотрите следующую программу:
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
public class HexDump {
public static void main(String[] args) {
try {
InputStream isr = new DataInputStream(new FileInputStream("C:\\Temp\\some_file.dat"));
int bytesPerLine = 16;
int byteCount = 0;
int data;
while ((data = isr.read()) != -1) {
if (byteCount == 0)
System.out.println();
else if (byteCount % bytesPerLine == 0)
System.out.printf("\n", byteCount);
else
System.out.print(" ");
System.out.printf("%02x", data & 0xff);
byteCount += 1;
}
System.out.println();
} catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
Он возьмет файл примера и выдает отдельные байты в шестнадцатеричном видезначения (16 байт на строку).
Как уже упоминал Стивен, на самом деле не существует какой-либо схемы кодирования (того типа, который вы предлагаете - например, ANSI и т. д.) для двоичных файлов.Этот тип схемы кодирования применяется к текстовым файлам и сообщает вам, является ли это ANSI, или UTF-8, или UNICODE и т. Д., И говорит вам, как его прочитать.Сказав это, бинарные файлы неявно имеют «схему кодирования».В случае бинарных файлов «схема кодирования», как упоминал Стивен, определяется тем, что написал файл.Это действительно так и для текстовых файлов, программа определит, записывает ли текстовый файл как ANSI, UTF-8 или какую-либо другую схему кодирования.Для двоичных файлов «схемой кодирования» может быть JPEG, или PNG, или GIF, или MP3, или MP4, или ZIP, или TAR, или любая из тысяч других возможностей.Опять же, это определяется программой, которая написала файл (например, редактор изображений, редактор аудиофайлов и т. Д.).
Надеюсь, это поможет вам найти ваш ответ.