利用java语言获得某个文件夹下符合条件的所有文件
2014-07-05 22:50
441 查看
今天突发奇想,想把手机中的微信中曾经的发过的图片和音频全部弄出来,最后发现靠点击文件夹然后copy这个方法太困难了,看过微信文件夹的童鞋们都知道,所有的图片和音频都存在不同的文件夹中,这就是我写这个程序的程序的初衷。
/*Author:bedlamite
* time:2014-7-4
*/
import java.io.*;
import java.nio.channels.FileChannel;
public class a
{
public static void main(String[] argv)throws Exception
{
File file = new File("D:\\result.txt");
PrintStream out = System.out;
PrintStream result = new PrintStream(file);
System.setOut(result);
File root = new File("C:\\Users\\TONY\\Desktop\\phone_voice3");
showAllFilr(root);
String file1_path = null;
String file2_path = null;
File file2 = null;
BufferedReader br = new BufferedReader(new FileReader("D:\\result.txt"));
String s = null;
int i = 0;
while((s=br.readLine())!=null)
{
String str = "D:\\log"+String.valueOf(i)+".amr";
file1_path = str;
if(s.indexOf(".amr")>=0)
{
System.setOut(out);
System.out.println(s);
file2_path = s;
File file1 = new File(file1_path);
file2 = new File(file2_path);
copyfile(file2,file1);
System.out.println(file1_path);
i++;
}
}
br.close();
}
final static void showAllFilr(File dir)throws Exception
{
File[] fs = dir.listFiles();
for(int i=0;i<fs.length;i++)
{
System.out.println(fs[i].getAbsolutePath());
if(fs[i].isDirectory())
{
try
{
showAllFilr(fs[i]);
}
catch(Exception e)
{
System.out.println("IOException e:"+e);
}
}
}
}
public static void copyfile(File sourse,File teminal)
{
/*
* 使用文件通道的方式来进行文件复制
* @param sourse
* 源文件
* @param teminal
*
*/
//(new File(newPath)).mkdir();
//File sourse = new File(oldPath);
//File teminal = new File(newPath);
FileInputStream fi = null;
FileOutputStream fo = null;
FileChannel in =null;
FileChannel out = null;
try
{
fi = new FileInputStream(sourse);
fo = new FileOutputStream(teminal);
in = fi.getChannel();
out = fo.getChannel();
in.transferTo(0, in.size(), out);
}
catch(IOException e)
{
e.printStackTrace();
System.out.println("the IOException is: "+e);
}finally
{
try
{
fi.close();
in.close();
fo.close();
out.close();
}catch(IOException e)
{
e.printStackTrace();
System.out.println("the IOException is: "+e);
}
}
}
}
这个可以把微信的文件夹的地址换成你的地址就可以,就可以得到图片和视频了,微信中的图片格式是.jpg格式,微信中的音频格式是.amr格式。
/*Author:bedlamite
* time:2014-7-4
*/
import java.io.*;
import java.nio.channels.FileChannel;
public class a
{
public static void main(String[] argv)throws Exception
{
File file = new File("D:\\result.txt");
PrintStream out = System.out;
PrintStream result = new PrintStream(file);
System.setOut(result);
File root = new File("C:\\Users\\TONY\\Desktop\\phone_voice3");
showAllFilr(root);
String file1_path = null;
String file2_path = null;
File file2 = null;
BufferedReader br = new BufferedReader(new FileReader("D:\\result.txt"));
String s = null;
int i = 0;
while((s=br.readLine())!=null)
{
String str = "D:\\log"+String.valueOf(i)+".amr";
file1_path = str;
if(s.indexOf(".amr")>=0)
{
System.setOut(out);
System.out.println(s);
file2_path = s;
File file1 = new File(file1_path);
file2 = new File(file2_path);
copyfile(file2,file1);
System.out.println(file1_path);
i++;
}
}
br.close();
}
final static void showAllFilr(File dir)throws Exception
{
File[] fs = dir.listFiles();
for(int i=0;i<fs.length;i++)
{
System.out.println(fs[i].getAbsolutePath());
if(fs[i].isDirectory())
{
try
{
showAllFilr(fs[i]);
}
catch(Exception e)
{
System.out.println("IOException e:"+e);
}
}
}
}
public static void copyfile(File sourse,File teminal)
{
/*
* 使用文件通道的方式来进行文件复制
* @param sourse
* 源文件
* @param teminal
*
*/
//(new File(newPath)).mkdir();
//File sourse = new File(oldPath);
//File teminal = new File(newPath);
FileInputStream fi = null;
FileOutputStream fo = null;
FileChannel in =null;
FileChannel out = null;
try
{
fi = new FileInputStream(sourse);
fo = new FileOutputStream(teminal);
in = fi.getChannel();
out = fo.getChannel();
in.transferTo(0, in.size(), out);
}
catch(IOException e)
{
e.printStackTrace();
System.out.println("the IOException is: "+e);
}finally
{
try
{
fi.close();
in.close();
fo.close();
out.close();
}catch(IOException e)
{
e.printStackTrace();
System.out.println("the IOException is: "+e);
}
}
}
}
这个可以把微信的文件夹的地址换成你的地址就可以,就可以得到图片和视频了,微信中的图片格式是.jpg格式,微信中的音频格式是.amr格式。
相关文章推荐
- 如何是获取一个文件夹里所有以.java结尾文件的数目,并把符合条件的文件名写到一个目录下。
- java 从指定文件夹搜索符合条件的文件
- 利用正则表达式统计某个某个文件夹下所有java文件的 空格行数、注释行数、和代码行数
- CMD命令 (复制、移动、重命名) (文件夹、子文件夹)下所有符合条件的文件
- 利用Shell语言批量有序命名某一文件夹下的所有文件
- 【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作
- Java 利用 svnKit 操作SVN 【获取所有文件夹、添加文件、文件下载】
- Java利用文件输入输出流实现文件夹内所有文件拷贝到另一个文件夹
- Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
- Java实现--替换文本文件中所有符合条件的字符串
- 利用 boost 库,编写c++类 FilesDirectoryTree,获得某个文件夹下符合某种格式要求(pcd)的文件路径,并按照降序或升序排列
- Java中读取某个目录下的所有文件和文件夹
- java遍历文件夹中所有文件
- java获得文件夹或者文件的大小,如果要获得磁盘大小用jconfig效率更高
- JAVA列出某文件夹下的所有文件
- JAVA遍历一个文件夹中的所有文件
- java:利用递归遍历整个文件夹并写入文件
- 利用java的ZipOutputStream类压缩文件,解压文件或文件夹中的文件
- java获取文件夹下所有文件的名称
- 利用java的ZipOutputStream类解压文件或文件夹中的文件