利用java語言獲得某個文件夾下符合條件的所有文件

今天突發奇想,想把手機中的微信中曾經的發過的圖片和音頻全部弄出來,最後發現靠點擊文件夾然後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格式。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章