Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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 扫描文件时跳过空行_Java_File Io_Blank Line - Fatal编程技术网

Java 扫描文件时跳过空行

Java 扫描文件时跳过空行,java,file-io,blank-line,Java,File Io,Blank Line,我有一个以下格式的文件: Gray M 0 0 869 0 0 0 0 0 0 0 0 0 0 0 Mart M 722 957 0 0 0 0 0 0 0 0 0 0 0 0 Adolfo M 0 995 0 859 0 646 742 739 708 731 671 649 546 0 Livia F 0 0 0 0 0 0 0 0 0 0 0 0 0 826 Mearl M 0 0 947 0 0 0 0 0 0 0 0 0 0 0 Estel M 0 0 0 793 750 8

我有一个以下格式的文件:

Gray M 0 0 869 0 0 0 0 0 0 0 0 0 0 0 Mart M 722 957 0 0 0 0 0 0 0 0 0 0 0 0 Adolfo M 0 995 0 859 0 646 742 739 708 731 671 649 546 0 Livia F 0 0 0 0 0 0 0 0 0 0 0 0 0 826 Mearl M 0 0 947 0 0 0 0 0 0 0 0 0 0 0 Estel M 0 0 0 793 750 826 0 0 0 0 0 0 0 0 Lee F 300 333 278 256 281 310 283 268 218 298 364 955 0 0 Garnet F 0 704 663 464 421 665 721 0 0 0 0 0 0 0 Stephan M 0 0 0 922 0 0 757 333 387 395 487 406 721 0 (Last line in the file is a blank Line) 这似乎是一个问题(特别是如果你在最后一行)。您已经阅读了整行内容,那么为什么还要从
input
进一步阅读呢?如果没有别的东西可以读呢?只需在空格上划出
,并将前两个元素提取为
name
gend

String[] split = line.split("\\s+", 3);

String name = split[0];
String gend = split[1];
请注意,
split()
的第二个参数表示字符串最多只能拆分为3个部分(这是最佳的,因为我们只需要结果数组的前两个元素)

这似乎是一个问题(特别是如果你在最后一行)。您已经阅读了整行内容,那么为什么还要从
input
进一步阅读呢?如果没有别的东西可以读呢?只需在空格上划出
,并将前两个元素提取为
name
gend

String[] split = line.split("\\s+", 3);

String name = split[0];
String gend = split[1];
请注意,
split()
的第二个参数表示字符串最多只能拆分为3个部分(这是最佳的,因为我们只需要结果数组的前两个元素)

这似乎是一个问题(特别是如果你在最后一行)。您已经阅读了整行内容,那么为什么还要从
input
进一步阅读呢?如果没有别的东西可以读呢?只需在空格上划出
,并将前两个元素提取为
name
gend

String[] split = line.split("\\s+", 3);

String name = split[0];
String gend = split[1];
请注意,
split()
的第二个参数表示字符串最多只能拆分为3个部分(这是最佳的,因为我们只需要结果数组的前两个元素)

这似乎是一个问题(特别是如果你在最后一行)。您已经阅读了整行内容,那么为什么还要从
input
进一步阅读呢?如果没有别的东西可以读呢?只需在空格上划出
,并将前两个元素提取为
name
gend

String[] split = line.split("\\s+", 3);

String name = split[0];
String gend = split[1];

请注意,
split()
的第二个参数表示字符串最多只能拆分为3个部分(这是最佳的,因为我们只需要结果数组的前两个元素).

你真的试过调试吗?你真的试过调试吗?你真的试过调试吗?你真的试过调试吗?更换除沫器不是更有效吗?您可以让它跳过空行或纯空白行。@Obicere您也可以这样做。你仍然需要从你读到的每一行中分割和提取数据。改变去污器不是更有效吗?您可以让它跳过空行或纯空白行。@Obicere您也可以这样做。你仍然需要从你读到的每一行中分割和提取数据。改变去污器不是更有效吗?您可以让它跳过空行或纯空白行。@Obicere您也可以这样做。你仍然需要从你读到的每一行中分割和提取数据。改变去污器不是更有效吗?您可以让它跳过空行或纯空白行。@Obicere您也可以这样做。您仍然需要从读取的每一行中拆分和提取数据。