本实例是使用dom解析xml文件,来改文件名。
手机多多是手机上用的比较多的铃声软件,铃声存的位置是shoujiduoduo\Ring\cache 歌曲的名字都是数字形式的,如果所示
这时我们想知道每首铃声的名字,都比较麻烦,只能去查找铃声多多的配置的XML文件了,位置在shoujiduoduo\Ring\user_ring.xml 配置文件是下面的结构
现在我们通过解析xml文件,来找到每首铃声 数字对应的歌名,再来尝试文件的重命名吧
public static void main(String[] args) {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
Document doc = null;
try {
doc = builder.parse("C:\\Users\\Administrator.HXKUHACOY73V8OX\\Desktop\\shoujiduoduo\\Ring\\user_ring.xml");
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
NodeList nl = doc.getElementsByTagName("ring");
String songName , songId;
for(int i=0;i<nl.getLength();i++) {
Element e = (Element) nl.item(i);
songName = e.getAttribute("name");
songId = e.getAttribute("rid");
//给文件重命名代码
//想重命名的原文件
File f = new File("C:\\Users\\Administrator.HXKUHACOY73V8OX\\Desktop\\shoujiduoduo\\Ring\\cache\\"+songId+".mp3");
//将原文件改名
f.renameTo(new File("C:\\Users\\Administrator.HXKUHACOY73V8OX\\Desktop\\shoujiduoduo\\Ring\\cache\\"+songName+".mp3"));
System.out.print("第"+(i+1)+"首歌:||"+ songName);
System.out.println("|| ----" + songId+"---");
}
}