Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中从lsm文件格式读取8字节块_Java_Image - Fatal编程技术网

在java中从lsm文件格式读取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...");

我有一堆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...");

        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语言,混淆字符和二进制数据。字符不是字节,你不能;字符串不是用来存储二进制数据的!或尝试