1

我正在执行一个相对简单的文件读取,并且我在验证输入值和从平面文件读取并存储在数组中的数据值之间遇到异常。我已经将错误追溯到该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=
4

2 回答 2

5

您忘记实际打印firstName变量:

System.out.println("firstName="); 

你需要:

System.out.println("firstName=" + firstName); 
于 2012-04-30T17:54:15.640 回答
1

不是您问题的完整答案,但是是的,如果您需要提高字符串连接速度,特别是在循环中,在代码中使用 StringBuilder 会更好。

StringBuilder 与字符串连接

于 2012-04-30T18:06:46.030 回答