自己私用的一个简单程序
2014-01-16 20:31
387 查看
昨天用虾米音乐网上下了不少歌曲到本地打算传到手机中,下载完成后发现每首歌曲在客户端设置的下载路径中另外新建了个目录,
![](https://img-blog.csdn.net/20140116203709375?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVveXVscQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
100首歌曲就有100个目录,复制起来相当麻烦,就写了个小程序,把所有的歌曲集中copy到另外一个目录中再一并拷贝到手机中
100首歌曲就有100个目录,复制起来相当麻烦,就写了个小程序,把所有的歌曲集中copy到另外一个目录中再一并拷贝到手机中
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.channels.FileChannel; import java.util.LinkedList; import java.util.List; public class XMusicUtil { private static List allLegalFilePath = new LinkedList(); private static final String LEGAL_SUFFIX_WORD = "mp3"; /** * 获取源目录中所有MP3文件 * * @param srcDirectory */ private static void getLegalFiles(File srcDirectory) { File[] files = srcDirectory.listFiles(); for (File file : files) { if (file.isDirectory()) { getLegalFiles(file); }else { String filePath = file.getAbsolutePath(); if (filePath.endsWith(LEGAL_SUFFIX_WORD)) { allLegalFilePath.add(filePath); } } } } /** * 将源目录中所有mp3文件拷贝到新目录中 * @param srcDirectory * @param destDirectory */ public static void copyToDestDirectory(File srcDirectory, File destDirectory) { if (isNotExist(srcDirectory) || srcDirectory.isFile()) { System.out.println("源目录不存在!"); return; } if (!destDirectory.exists()) { destDirectory.mkdirs(); } getLegalFiles(srcDirectory); System.out.println(allLegalFilePath.size()); FileChannel infc = null ; FileChannel outfc = null; try { for (String srcFilePath : allLegalFilePath) { infc = new FileInputStream(srcFilePath).getChannel(); String fileName = srcFilePath.substring(srcFilePath .lastIndexOf(File.separator)); String destFilePath = destDirectory.getAbsolutePath() + fileName; outfc=new FileOutputStream(destFilePath).getChannel(); infc.transferTo(0, infc.size(), outfc); } } catch (Exception e) { e.printStackTrace(); } finally { closeFileChannel(infc); closeFileChannel(outfc); } } private static boolean isNotExist(File file) { return file == null || !file.exists(); } private static void closeFileChannel(FileChannel fc) { try { fc.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { File srcDirectory=new File("F:/MyMusic"); File destDirectory=new File("F:/XiaMiMusic"); XMusicUtil.copyToDestDirectory(srcDirectory, destDirectory); } }
相关文章推荐
- 自己动手编写一个简单的U盘杀毒程序
- 在自己的WSASOCKET服务端/客户端中做了一个简单的解包程序处理粘包的问题
- 2006-10-29 22:50:00 自己写的一个简单的溢出程序
- scons构建自己的一个简单的程序
- NET简单的一个画图程序 使用简单 自己可以相关自己的内容进行配置就可以使用了
- NET简单的一个画图程序 使用简单 自己可以相关自己的内容进行配置就可以使用了
- [原创]自己写的一个简单的程序日志记录类
- 自己写了一个简单的画图程序
- 构建自己的代码库及软件开发不能是加工作坊--及一个简单的Linux C程序开发框架—linux-dev-framework
- 使用gtype构造的一个简单学生管理程序其他属性自己加
- 自己以前用C#写的简单升级程序源码(比如更新一个安装包或者压缩文件),带进度条,支持续传
- 一个最简单的gps定出自己位置的小程序,监听位置变化
- ROS(二)自己动手写一个简单的发布(Publisher)、订阅(Subscriber)程序
- ROS的初步学习(五)--自己写一个简单的发布(Publisher)、订阅(Subscriber)程序
- 一个最简单的基站定位定出自己位置的小程序
- 赛码网,简单计算,用C语言自己实现的一个程序,仅供参考
- C-自己写的一个最简单的班级信息统计程序
- 自己写的一个简单的蓝牙聊天程序
- 自己写的一个简单的风速仪程序
- 自己动手写一个简单的Windows shell扩展程序