如果有报错红线,鼠标放上去:more actions-surround with try/catach
import java.io.BufferedReaderimport java.io.FileReader
/**
* 读取并解析文本文件
*/
public class ReadMusicInfo {
public static void main(String[] args) throws Exception {
//注意这里music.db文件的位置
BufferedReader in = new BufferedReader(new FileReader("D:/music.db"))
//保存读取的一行信息
String lineStr = null
//保存行信息按逗号分隔后的数据
String music[] = null
//先读取文件的一行内容
lineStr = in.readLine()
//如果读取的内容不为空
while(null != lineStr){
//按逗号分隔每一行的内容
music = lineStr.split(",")
//长度为5的为歌手的那行信息
if(5 == music.length){
System.out.println(
String.format(
"歌手:%s 地区:%s 相片:%s 专辑:%s 专辑包含歌曲数:%s",
music[0],music[2],music[3],music[1],music[4]
)
)
System.out.println("歌曲列表如下:")
}
//长度为2的为歌曲信息
else if(2 == music.length){
System.out.println("\t" + music[0] + "\t" + music[1])
}
// 其它信息原样输出
else{
System.out.println(lineStr)
}
lineStr = in.readLine()
}
in.close()
}
}
至于歌曲名后面的数字,我没有猜出来它的含义,是歌曲播放里长秒数吗?和题目无关了,反正都解析出来了,你可以按你的需要修改那些输出信息.
QQ:58472399
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)