我制作了一个FileOutputStream,它将arraylist
个String[]
个[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}}
}
答案 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。