关于导出歌单的问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | // 7.导出歌单 public void outputPlayList() { try { FileOutputStream fos = new FileOutputStream(getPlayListName() + "歌单.txt" ); ObjectOutputStream oos = new ObjectOutputStream(fos); FileInputStream fis = new FileInputStream(getPlayListName() + "歌单.txt" ); ObjectInputStream ois = new ObjectInputStream(fis); /* Iterator<Song> it = getMusicList().iterator(); while (it.hasNext()) { oos.writeObject(it.next()); }*/
List<Song> musicList = getMusicList(); for(int i=0;i<musicList.size();i++) { oos.writeObject(musicList.get(i)); }
oos.flush(); fos.close(); oos.close(); ArrayList playList = (ArrayList) ois.readObject(); System.out.println(playList); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println( "成功导出!" ); } |
在上传作业的时候,向老师问了导出歌单出错怎么处理的问题。老师给出的回答,一是模糊不清,二是与我之前的写法没有本质上的区别,三是还是错的。 不知道怎么改,请助教详细解答。
想达到导出歌单生成一个.txt文档,又要将写入的重新读出,实现序列化和反序列化怎么写呢?
24
收起
正在回答 回答被采纳积分+1
1回答
Tender10
2017-09-12 17:47:37
Song类后面需要实现一下Serializable接口,应该在歌曲类后面实现一下。另外你代码中的如下部门代码都是不需要的,你可以在尝试一下。
FileInputStream fis = new FileInputStream(getPlayListName() + "歌单.txt"); ObjectInputStream ois = new ObjectInputStream(fis); ArrayList playList = (ArrayList) ois.readObject(); System.out.println(playList); catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星