Scanner遇上UnmappableCharacterException
public void output(String filePath) throws FileNotFoundException{
Scanner scanner=new Scanner(new File(filePath));
String str=null;
while(scanner.hasNextLine()){
str=scanner.nextLine();
if(str.indexOf("FileName")>0){
System.out.println(str.substring(str.indexOf(">")+1, str.lastIndexOf("<")));
}
}
scanner.close();
}
<File>
<MediaFileType>0</MediaFileType>
<FileName>周杰伦 - 爱在西元前.mp3</FileName>
<FilePath>D:\music\</FilePath>
<FileSize>5623610</FileSize>
<Duration>234292</Duration>
<Hash>0589341ba15528a4c63e36c49a3c0e45</Hash>
<Lyric>E:\KuGou\Lyric\周杰伦 - 爱在西元前-0589341ba15528a4c63e36c49a3c0e45.krc</Lyric>
<Bitrate>192004</Bitrate>
<MandatoryBitrate>0</MandatoryBitrate>
</File>
public void output(String filePath) throws FileNotFoundException{
Scanner scanner=new Scanner(new File(filePath),"UTF-8");//Always explicitly pass a charset when working with text
String str=null;
while(scanner.hasNextLine()){
str=scanner.nextLine();
if(str.indexOf("FileName")>0)
System.out.println(str.substring(str.indexOf(">")+1, str.lastIndexOf("<")));
}
//It‘s better to check IOException when working with Scanner(PS:find UnmappableCharacterException took me more time,finally by debug to found )
IOException ioException = scanner.ioException();
if (ioException != null) {
ioException.printStackTrace();
}
scanner.close();
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。