だから私はこのdatファイル(txtファイル)を持っています.1つの州と1つの国ごとに1つの郵便番号があります. このdatファイルには、各行の文字列と各行の整数を区切るセミコロンがあります。これにはインターフェースとメインクラスも使用していますが、これはほとんどの作業を行うクラスです。そして、その下に方法があります。
PS: このサイトで、既に私の Q に回答している他の質問を見つけようとしましたが、実際には役に立ちませんでした。
これはdatファイルの内容です:
75242;ウプサラ
90325;ウメオ
96133;ボーデン
23642;Höllviken
35243;ベクショー
51000;ヨンショーピング
72211;ヴェステロース
私の問題は、配列内の整数または文字列を機能させたい方法で保持する方法が見つからないことです。整数のみと文字列のみを読み取ろうとしましたが、うまくいきませんでした。また、dat ファイル内のすべての行とすべての文字を読み取って、値を独自の配列に入れようとしたことにも注意してください。また、if'ments を使用して「if(Character.is..)」と言ってシフトしようとしました。以下の方法では、整数のみをキャプチャしようとしています。
また、セミコロンのために、「Character.is....」のようなものを使用してそれを確認し、ch/string から int に読み替える必要があると考えていました。だけど一歩一歩踏み出さないと何も始まらない!
public void read() {
try {
ArrayList<Integer> itemArr = new ArrayList<Integer>();
ArrayList<String> descArr = new ArrayList<String>();
FileReader file = new FileReader("C:\\Users\\me\\Desktop\\places.dat");
BufferedReader r = new BufferedReader(file);
int r1;
while ((r.readLine()) != null) {
while ((r1 = r.read()) != -1) {
char ch = (char) r1;
if (Character.isDigit(ch)) {
itemArr.add(r.read());
}
}
}
} catch (IOException e) {
}
}
これは予想されることです:それらもソートされていますが、独自の配列のそれぞれに正しく格納する方法を理解できる限り、それを処理できます。
23642 ヘルビケン
35243 ベクショー
51000 ヨンショーピング
72211 ヴェステロース
75242 ウプサラ
90325 ウメオ
96133ボーデン
すべてのコメントをありがとう、本当に役に立ちます。