我正在执行一个相对简单的文件读取,并且我在验证输入值和从平面文件读取并存储在数组中的数据值之间遇到异常。我已经将错误追溯到该firstName
领域。我将此字段定义为等于array[0]
。While array[0]
在我的输出中完美显示,fieldName
不......它是空白或空。
这是我的代码,带有输出示例。
我不确定Stringbuilder
这里是否最适合使用?还是深层字符串方法之一?我尝试过的所有方法似乎都不起作用。我错过了什么......我知道这是显而易见的,我只是看不到。
public class DisplaySelectedNumbers
{
public static void main(String[] args)
{
final String FN = " ";
final String LN = " ";
final String PHONE = "0000000000";
String delimiter = ",";
String s = FN + delimiter + LN + delimiter + PHONE + System.getProperty("line.separator");
final int RECSIZE = s.length();
String[] array = new String[3];
Scanner kb = new Scanner(System.in);
Path file = Paths.get("PhoneList.txt");
String fName = JOptionPane.showInputDialog(null,"Enter first name to search");
try
{
InputStream iStream=new BufferedInputStream(Files.newInputStream(file));
BufferedReader reader=new BufferedReader(new InputStreamReader(iStream));
while ((s = reader.readLine()) != null)
{
array = s.split(delimiter);
String dispString = array[0]+" "+array[1]+" "+array[2]+"\n";
System.out.println("array[0]="+array[0]);
System.out.println("array[1]="+array[1]);
System.out.println("array[2]="+array[2]);
String firstName = array[0];
System.out.println("firstName=");
s=reader.readLine();
}
}
catch(Exception e)
{
System.out.println("Message: " + e);
}
}
}
array[0]=D
array[1]=JJ
array[2]=0123450000
firstName=
array[0]=B
array[1]=EE
array[2]=1111111111
firstName=
array[0]=D
array[1]=GG
array[2]=0033333333
firstName=