Arrays 读取stdin并生成字符串数组

Arrays 读取stdin并生成字符串数组,arrays,Arrays,我正在尝试从标准输入中读取名称,并创建一个字符串数组。但当出现空行时,它也会指向我不想要的数组。代码如下: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class Read { public static void main(String args []) throws IOE

我正在尝试从标准输入中读取名称,并创建一个字符串数组。但当出现空行时,它也会指向我不想要的数组。代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Read {
   public static void  main(String args []) throws IOException{
   BufferedReader reader =new BufferedReader(new inputStreamReader(System.in));
   String str;
   ArrayList<String> lines = new ArrayList<String>();
   while((str = reader.readLine()) != null){
      lines.add(str);
   }
   String[] linesArray = lines.toArray(new String[lines.size()]);

   for (String input: linesArray){
      System.out.println(input);
   }
  }
}
我调试了它,看到阵列如下所示:

[0] String .. "John"
[1] String .. "Mike"
[2] Striing.. ""
[3] String .. "dasy"
[4] String .. "egor"
[5] String .. ""
谁能帮我修一下吗?
加上一些原因,我没有得到任何输出,这意味着它没有终止

在添加行之前,请尝试获取str的字符串长度,如

while((str = reader.readLine()) != null){
     if str.lenght() > 0 {
       lines.add(str);
     }
 }

现在没有空数组,但姓氏没有出现+程序没有终止以显示输出
while((str = reader.readLine()) != null){
     if str.lenght() > 0 {
       lines.add(str);
     }
 }