Java 无法将一行1和0解析为整数数组

Java 无法将一行1和0解析为整数数组,java,parsing,file-io,integer,Java,Parsing,File Io,Integer,我正在编写一个生活游戏java文件,在这个文件中,我必须读取一个给定的文件,其中有一定数量的行包含一串1或0。 (即0000010010100010000)如何将整个内容解析为一个整数数组,每个元素中包含一个或零?

我正在编写一个生活游戏java文件,在这个文件中,我必须读取一个给定的文件,其中有一定数量的行包含一串1或0。 (即
0000010010100010000
)如何将整个内容解析为一个整数数组,每个元素中包含一个或零?

   String s ="0000010010100010000";
   String[] sp = s.split("");
   int[] arr = new int[sp.length];
    for (int i = 0; i < sp.length; i++) {
        arr[i] = Integer.parseInt(sp[i]);
    }

    for (int i = 0; i < arr.length; i++) {
        System.out.print(arr[i]);
    }
并使用

public static int parseInt(String s) throws NumberFormatException

并将其分配给具有相同长度的int数组,您可能需要查看位集。 下面是一个使用它的示例:

import java.util.BitSet;

    class Scratch {
        public static void main(String[] args) {
            BitSet bits1 = fromString("1000001");
            BitSet bits2 = fromString("1111111");

            System.out.println(toString(bits1)); // prints 1000001
            System.out.println(toString(bits2)); // prints 1111111
            boolean nthBit = bits1.get(3);//returns 3rd bit


        }

        private static BitSet fromString(final String s) {
            return BitSet.valueOf(new long[] { Long.parseLong(s, 2) });
        }

        private static String toString(BitSet bs) {
            return Long.toString(bs.toLongArray()[0], 2);
        }
    }
仅当字符串长度小于64时,此示例才有效

import java.util.BitSet;

    class Scratch {
        public static void main(String[] args) {
            BitSet bits1 = fromString("1000001");
            BitSet bits2 = fromString("1111111");

            System.out.println(toString(bits1)); // prints 1000001
            System.out.println(toString(bits2)); // prints 1111111
            boolean nthBit = bits1.get(3);//returns 3rd bit


        }

        private static BitSet fromString(final String s) {
            return BitSet.valueOf(new long[] { Long.parseLong(s, 2) });
        }

        private static String toString(BitSet bs) {
            return Long.toString(bs.toLongArray()[0], 2);
        }
    }