天天看点

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

继续阅读