读取xml文件时出现Java错误

时间:2014-01-27 21:15:00

标签: java xml

我制作了一个FileOutputStream,它将arraylistString[][Ljava.lang.String;@75a7d0f4 个保存到xml文件中。问题是,当我加载文件时,我只能将其作为String加载。字符串是一些奇怪的代码喜欢:

String[]

我需要帮助,保存(或加载)addSong()以便我可以打电话给他们

而且,在load方法中,我需要通过循环将所有数据传递给public class Songs { List<String[]> songs = new ArrayList<String[]>(); public void addSong(String s, String a, String yt){ String[] songarray= new String[3]; songarray[0] = s; songarray[1] = a; songarray[2] = yt; songs.add(songarray); } public void editSong(int i, String s, String a, String yt){ String[] editsongarray = new String[3]; editsongarray[0] = s; editsongarray[1] = a; editsongarray[2] = yt; songs.remove(i); songs.add(i,editsongarray); } public void removeSong(int i){ songs.remove(i); } public String[] getList(int i){ String[] j = songs.get(i); return j; } public void save() throws FileNotFoundException{ PrintWriter pw = new PrintWriter(new FileOutputStream("C:\\Applications\\songs.xml")); for(String[] x:songs) pw.println(x); pw.close(); } public void load()throws FileNotFoundException{ FileInputStream in = new FileInputStream("C:\\Applications\\songs.xml"); Scanner scan = new Scanner(in); String x = scan.next(); //String[] x = scan.next(); doesnt works System.out.println(x); } 方法?

代码:

{{1}}

}

2 个答案:

答案 0 :(得分:2)

这是打印数组时的默认输出。如果要查看实际内容,请使用Arrays.toString()

答案 1 :(得分:1)

您不能将内容作为纯字符串写入xml文件。您需要遵循xml标准,如

<songs>
   <song>song1</song>
   <song>song2</song>
<songs>

同时在阅读时,您需要解析这些nodes以从xml中提取歌曲。有很多API可以处理xmls。你需要使用它们。

Jdom是易于使用的解析器之一。 Here就是一个简单的例子。你不需要使用maven和所有,你可以从jdom网站下载jar。