Javaで読み取る辞書ファイルがいくつかあり、それらを1行ずつ読み取るときに、次のコードを使用します。
public static void main(String args[]) {
try {
FileInputStream fstream1 = new FileInputStream("de-DE.dic");
DataInputStream in = new DataInputStream(fstream1);
BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
String str;
while ((str = br.readLine()) != null) {
String str_uc=str.toUpperCase(Locale.GERMAN);
if(hasApostrophe(str_uc)){
allletters.add(str_uc);
if(str.length()==3)
threeletter.add(str_uc);
else if(str.length()==4)
fourletter.add(str_uc);
else if(str.length()==5)
fiveletter.add(str_uc);
else if(str.length()==6)
sixletter.add(str_uc);
else if(str.length()==7)
sevenletter.add(str_uc);
}
}
in.close();
}
catch (Exception e) {
System.err.println(e);
}
ただし、常に最初の行の単語に1つの空の文字が追加されます。たとえば、3文字の単語が最初の行にある場合は、4文字の配列に追加されます。どうすればこれを防ぐことができますか?ありがとう。
添加:
ファイルの数行を次に示します。
Aachens
Aachen
Aal
Aale
Aalen
Aales
Aals
Aas
Aases
Aasgeier
Aasgeiern
Aasgeiers