我正在寻找一个.dat类型的文件。我不知道文件的大小,但我知道内容将以
的形式出现111000111
0101
0100
1
0011
110
0010
101
0001
11
0000
目前我所拥有的是
public static void readFile(String fileName) throws FileNotFoundException, IOException
{
File file = new File(fileName);
byte[] bytes = new byte[(int) file.length()];
try (FileInputStream fis = new FileInputStream(file))
{
fis.read(bytes);
}
String[] value = new String(bytes).split("\\s+");
numbers = new int[value.length];
for (int i = 0; i < value.length; i++)
{
numbers[i] = Integer.parseInt(value[i]);
}
for (int i = 0; i < numbers.length; i++)
{
System.out.println(numbers[i]);
}
} // end of import file
该文件的输出如下所示。如您所见,如果数字以0(或多个)开头,则会将其删除。
111000111
101
100
1
11
110
10
101
1
11
0
感谢任何帮助。
此致
麦克
答案 0 :(得分:0)
那是因为您正在将值解析为整数
Integer.parseInt(value[i])
请改用:
String[] values = new String[value.length];
for (int i = 0; i < value.length; i++)
{
values[i] = value[i];
}
答案 1 :(得分:0)
如果您遇到前导零问题,则不应使用Integer.parseInt
对于这种情况,持有一个字符串数组会更好。
numbers = new String[value.length];
和
numbers[i] = value[i];
如果以后要在任何方法中将数组内容用作整数,可以在那里使用Integer.parseInt。