トピック:ファイルのaa.txt以下C皿、ファイルはフォーマットの学生の達成度を確認するために、毎年保存されています。次のような名前のスコアクラス
ジョー・スミス801クラス
ジョン・ドウ902クラス
名前:ジョー・スミススコア:80クラス:クラス1ファイル内の情報、学生情報、出力形式の最終的な出力を読み取るための方法を設計します
要件:すべての生徒の情報を格納するためのリストを使用し、各ラインの生徒情報クラスストアを使用します。
パブリック クラスReadTextLine { 公共 静的 ボイドメイン(文字列[]引数)がスローにIOException { リスト <学生>リスト= getReader(" E:\\ score.txt " )。 システム。アウト.println(リスト); 以下のための{:(リスト学生S) システム。アウト .println(" 姓名:" + s.getName()+ " " + " 分数:" + s.getScore()+ " 班级:" + s.getCls())。 } } パブリック 静的リスト<getReader(文字列のパス)のIOException {スロー 一覧 <学生>学生= 新しいのArrayList <学生> (); FileInputStreamの中 = 新しい FileInputStreamを(新しいファイル(パス)); InputStreamReaderのINR = 新しい InputStreamReaderの(中)。 BufferedReaderのBUF = 新しいをBufferedReader(INR); 文字列s = "" ; しばらく((S = buf.readLine())!= nullの){ 学生学生 = 新学生(); int型インデックス= s.indexOf(" " )。 student.setName(s.substring(0、index- 2 ))。 student.setScore(Integer.parseInt(s.substring(インデックス - 2 、インデックス)))。 student.setCls(s.substring(インデックス、s.length()))。 students.add(学生)。 } で.close(); buf.close(); inr.close(); 戻る学生を。 } }
ストレージクラス:
パブリック クラス学生{ プライベート文字列名; プライベート int型スコア。 プライベート文字列のCLS; パブリック文字列のgetName(){ 戻り名。 } 公共 ボイドのsetName(文字列名){ この .nameの= 名前。 } 公共 INT getScore(){ 戻りスコア。 } 公共 ボイド setScore(int型スコア){ この .score = スコア。 } パブリック文字列getCls(){ 戻りCLS。 } 公共 ボイドsetCls(文字列CLS){ これの.clsの=のCLS。 } }
読み出しファイル使用IOストリーム情報:ファイル - >のFileInputStream - >にInputStreamReader - >は、whileループによって取り出されたデータの各行において、それは一時的な文字列に取り出した各時間は、停止場合nullであるBufferedReaderの
データの各列は、クラスのためのスペースの後に、空白で区切られた、元の空間、2桁、0 -2名前空間への達成の2