比較的単純なファイルの読み取りを行っていますが、入力値と、フラット ファイルから読み取られて配列に格納されたデータ値との間の検証で異常が発生しました。エラーをfirstName
フィールドまで追跡しました。このフィールドを に等しいと定義していarray[0]
ます。While array[0]
出力に完全に表示されますが、そうでfieldName
はありません...空白またはnullです。
出力サンプルを含む私のコードは次のとおりです。
Stringbuilder
ここで が最も適切に使用されているかどうかわかりません。または深い文字列メソッドの1つですか? 私が試したことはどれもうまくいかないようです。私は何を見逃しているのですか...それは私が見ることができない明らかなものであることを私は知っています.
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=