在java中从lsm文件格式读取8字节块
我有一堆lsm文件需要分析。我的第一个任务是从以txt格式打开的图像中读取8字节块 这是我到目前为止所做的,但这显然只读取文本的前四个字母的子字符串,而不继续阅读其余部分:在java中从lsm文件格式读取8字节块,java,image,Java,Image,我有一堆lsm文件需要分析。我的第一个任务是从以txt格式打开的图像中读取8字节块 这是我到目前为止所做的,但这显然只读取文本的前四个字母的子字符串,而不继续阅读其余部分: import java.util.Scanner; public class Image { public static void main (String [] args){ System.out.println("Input image text in unicode now...");
import java.util.Scanner;
public class Image {
public static void main (String [] args){
System.out.println("Input image text in unicode now...");
Scanner image = new Scanner (System.in);
String imageInput = image.next();
for (int i = 0; i < imageInput.length(); i+=4) {
int x = -4;
int y = 0;
x+=4;
y+=4;
String toArray = imageInput.substring(x,y);
System.out.println(toArray + " ");
}
}
}
如何读取下一个四个字母的块并将每个块放入一个数组?您需要读取二进制文件,而不是文本,因此不要使用扫描仪。您最好使用。好吧,我发现x和y需要在for循环之外定义,但是如何将这些字符放入字符串[]?您可以调用接受字节数组的字符串构造函数。但请确保您还指定了字符编码;如果不确定,请在lsm文件格式规范中查找编码。但不要使用C语言,混淆字符和二进制数据。字符不是字节,你不能;字符串不是用来存储二进制数据的!或尝试