今天看张老师的视频,麻烦,不知怎么用暴风影音添加目录([size=14.3999996185303px]是一个文件里只有一个视频),老是一个一个的添加视频。想想老师讲的IO流,递归遍历文件。
想何不自己写个程序,将视频文件同一Copy到指定目录呢?哈哈,一个晚自习啊(我是菜鸟我怕谁),试了试看着还行,请大家指点一下啊。- package cn.itcast.CopyAvi;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- /*
- * 将G:\BaiduYunDownload\张孝祥Java高新技术中的avi文件复制到F:\java视频资料中去,
- * 并新建 张孝祥Java高新技术文件夹中
- * 思路:
- * 1.递归遍历源目录
- * 2.判断文件是文件夹还是文件。若是文件则判断是否是.avi结尾。若不是文件,则继续执行1
- * 3.文件若以.avi结尾。则调用本地IO技术进行读写操作。
- */
- public class CopyAvi {
- public static void main(String[] args) throws Exception {
- long start =System.currentTimeMillis();
- // 现将源文件和目标文件封装成File对象
- File srcDir = new File("G:\\BaiduYunDownload\\张孝祥Java高新技术");
- File tarDir = new File("F:\\java视频资料\\张孝祥Java高新技术");
- if(!tarDir.exists())
- tarDir.mkdirs();
- printSrcDir(srcDir, tarDir);
- long end=System.currentTimeMillis();
- System.out.println(end-start);
- }
- // 写一个遍历源目录的方法
- private static void printSrcDir(File srcDir, File tarDir) throws Exception {
- File[] files = srcDir.listFiles();
- // 遍历元目录
- for (File file : files) {
- if (file.isDirectory()) {
- printSrcDir(file, tarDir);
- } else {
- if (file.getName().endsWith(".avi")) {
- File newTar = new File(tarDir, file.getName());
- copyFiles(file, newTar);
- }
- }
- }
- }
- private static void copyFiles(File file, File newTar) throws Exception {
- // 读写文件
- FileInputStream fis = new FileInputStream(file);
- FileOutputStream fos = new FileOutputStream(newTar);
- int len = 0;
- byte[] arr = new byte[1024];
- while ((len = fis.read(arr)) != -1) {
- fos.write(arr, 0, len);
- }
- fos.close();
- fis.close();
- }
- }
复制代码
|