天天看點

HeadFirst Java 學習筆記 資料結構1

資料結構1:讀取與解析檔案

代碼部分

package 資料結構;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Collections;

public class Jukebox1 {
ArrayList<String> songList = new ArrayList<String>();//歌的名稱被存在String的ArrayList上
public static void main(String[] args) {
	new Jukebox1().go();

}
public void go() {    //go方法會載入檔案并列出内容
	getSongs();
	System.out.println(songList);
	Collections.sort(songList);
	System.out.println(songList);
}
private void getSongs() {     //讀取檔案
	// TODO Auto-generated method stub
try {
	File file=new File("SongList.txt");
	BufferedReader reader = new BufferedReader (new FileReader(file));
String line =null;
while ((line = reader.readLine()) !=null) {
	addSong(line);
	/*
   通過在建立檔案對象期間提供檔案的完整路徑(我們将讀取)來建立File執行個體。這裡,SongList.txt被放到了工程目錄下。
   将FileInputStream執行個體傳遞給BufferedInputStream,後者建立BufferedInputStream并儲存其參數,即輸入流,供以後使用。建立内部緩沖區陣列并将其存儲在buf中,使用該陣列,讀取操作可提供良好的性能,因為内容在緩沖區中很容易獲得。
   while循環用于讀取檔案。
	*/
}
}	catch(Exception ex) {
	ex.printStackTrace();
}
}
private void addSong(String lineToParse) {
	// TODO Auto-generated method stub
	String[] tokens = lineToParse.split("/");//拆開歌曲内容
	songList.add(tokens[0]);//隻把歌曲拿出,故把第一項内容拿出
}

}
           

SongList.txt

Communication/The Cardigans

Black Dog/Led Zeppelin

Dreams/Van Halen

Comfortably Numb/Pink Floyd

Beth/Kiss

倒退噜/黃可令

代碼運作結果

并沒有進行排序

HeadFirst Java 學習筆記 資料結構1

繼續閱讀