【封面来自于网络,懒得自己做图了】
———————————————————————————————————————————
记一次难忘的独自完成一个需求的事件。
//折腾了好几个小时,但是做出来的时候,是真的快乐,这是我一生都难忘的记忆
//把文件夹下所有的mp4整理后拷贝到"output"文件夹下
//文件命名吻别为"a1.mp4""a2.mp4""b4.mp3"
//1.
File output=new File("d:/nothing/mu/output");
output.mkdirs();
File F=new File("d:/nothing/mu/");
File[] f=F.listFiles();
System.out.println(Arrays.toString(f));//[d:\nothing\mu\a, d:\nothing\mu\b, d:\nothing\mu\c, d:\nothing\mu\output]
for (File f1:f)//先遍历大文件夹a
{int i=0;
int ii=0;
for (File mu:f1.listFiles())//后遍历文件
{
System.out.println(output.getPath()+"/"+F.list()[i] +"/"+ii+".mp3");
System.out.println(mu);//获取路径
File n=new File(output.getPath() +"/"+F.list()[i]+ii+".mp3");
n.createNewFile();
System.out.println("n-");
System.out.println(n);
System.out.println("n+");
mu.getPath();
System.out.println(mu.getPath());
IOHelpers.readAllBytes(mu.getPath());
IOHelpers.writeAllBytes(output.getPath()+"/"+ F.list()[i] +ii+".mp3",IOHelpers.readAllBytes(mu.getPath()));
ii++;
}
i++;
}
即使中途尝试了好几个小时,输出的结果仍不完美,回看代码,反思了几点:
- 在了解需求之后,并没有先规划出一个大致的代码逻辑,导致中途写到哪想到哪,混乱无序。
- 对于各种类型的数据,之间互通的方法仍然掌握的不够透彻,对于数组等基础知识掌握的很薄弱。
根据这两点反思,之后我在写代码之前会先把需求拆解,变成可以实行的代码块,其次再一步步完成。
纪念下我的JAVA历程,虽然逻辑还不清晰,代码还不完美,但是在我现行阶段很🆗,很满意啦。
再接再厉!加油学JAVA!
顺便贴上自己曾经的错误尝试
/*自己的错误尝试
//1.创建"output"文件夹
File output=new File("d:/nothing/mu/output");
output.mkdirs();
//2.获取mu文件夹下的文件夹
File mt=new File("d:/nothing/mu/");
System.out.println(Arrays.toString(mt.listFiles()));
String[] fname=Arrays.toString(mt.listFiles()).split("/",Arrays.toString(mt.listFiles()).split("/").length-1);
System.out.println(Arrays.toString(fname));//[[d:\nothing\mu\a, d:\nothing\mu\b, d:\nothing\mu\c, d:\nothing\mu\output]]
//3.获取mp4文件名
int i;
for (i=0;i<=3;i++)
{
File mf=new File("d:\\nothing\\mu\\"+mt.list()[i]);//mf是
//System.out.println(Arrays.toString(mf.list()));
System.out.println(Arrays.toString(Arrays.toString(mf.list()).split(",", Arrays.toString(mf.list()).split(",").length - 1)));
//4.复制mp4的byte与新建mp4文件
int ii=0;
ii++;
switch (Arrays.toString(mt.list()))
{
case "a":
File mp4=new File(Arrays.toString(Arrays.toString(mf.listFiles())));
System.out.println(mp4);
//System.out.println(mf.list());
//String[] mp4=Arrays.toString(mf.listFiles()).split(",",Arrays.toString(mf.listFiles()).split(",").length-1);
//System.out.println(Arrays.toString(Arrays.toString(mf.list()).split(",", Arrays.toString(mf.list()).split(",").length - 1)));
//IOHelpers.writeAllBytes(mp4[ii]);
//IOHelpers.writeAllBytes(mp4[i]);
//需要借用拷贝
}
}
*/