昨天完成利用土豆http接口自动上传程序 ,
接着写了一个文件遍历和过滤程序,以便自动查找上传文件
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class MediaFileProcess {
private String filepath=null;
private String filter=".wmv,.rmvb,.rm,.flv,.avi";
private String filetxt="/medialist.txt";
private List filelist=new ArrayList();
public MediaFileProcess(){
//为空则取当前路径
filepath=System.getProperty("user.dir");
}
public MediaFileProcess(String s){
filepath=s;
}
private void getAllFile(String parent) throws Exception
{
File parentF = new File(parent);
if(!parentF.canRead()) return;
File[] subFiles=parentF.listFiles(new MediaFilter());
//File[] subFiles=parentF.listFiles();
if(subFiles==null) return;
for (int i = 0; i < subFiles.length; i++)
{
if(subFiles[i].isFile())
{
filelist.add(subFiles[i].getAbsolutePath());
System.out.println(subFiles[i].getAbsolutePath());
}else{
//System.out.println(subFiles[i].getAbsolutePath()+"/r/n");
getAllFile(subFiles[i].getAbsolutePath());
}
}
}
public List getFilelist()
{
return filelist;
}
public class MediaFilter implements FileFilter
{
String[] strfilter= filter.split(",");
public MediaFilter() {}
private boolean isOK(String file){
for(int i=0;i<strfilter.length;i++){
if (file.toLowerCase().endsWith(strfilter[i])){
return true;
}
}
return false;
}
public boolean accept(File dir){
return (isOK(dir.getName())||dir.isDirectory());
}
}
public void ListFile() {
try {
this.getAllFile(filepath);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void OutputFileList(){
FileWriter f=null;
try {
f=new FileWriter(filepath+filetxt);
for(int i=0;i<filelist.size();i++){
f.write((String)filelist.get(i)+"/r/n");
}
f.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
f.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args ){
MediaFileProcess mfp=new MediaFileProcess("E:/");
System.out.println(mfp.getFilepath());
mfp.ListFile();
mfp.OutputFileList();
//System.out.println(mfp.getFilelist().toString());
}
/**
* @return the filepath
*/
public String getFilepath() {
return filepath;
}
/**
* @param filepath the filepath to set
*/
public void setFilepath(String filepath) {
this.filepath = filepath;
}
/**
* @return the filter
*/
public String getFilter() {
return filter;
}
/**
* @param filter the filter to set
*/
public void setFilter(String filter) {
this.filter = filter;
}
/**
* @return the filetxt
*/
public String getFiletxt() {
return filetxt;
}
/**
* @param filetxt the filetxt to set
*/
public void setFiletxt(String filetxt) {
this.filetxt = filetxt;
}
}
接着写了一个文件遍历和过滤程序,以便自动查找上传文件
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class MediaFileProcess {
private String filepath=null;
private String filter=".wmv,.rmvb,.rm,.flv,.avi";
private String filetxt="/medialist.txt";
private List filelist=new ArrayList();
public MediaFileProcess(){
//为空则取当前路径
filepath=System.getProperty("user.dir");
}
public MediaFileProcess(String s){
filepath=s;
}
private void getAllFile(String parent) throws Exception
{
File parentF = new File(parent);
if(!parentF.canRead()) return;
File[] subFiles=parentF.listFiles(new MediaFilter());
//File[] subFiles=parentF.listFiles();
if(subFiles==null) return;
for (int i = 0; i < subFiles.length; i++)
{
if(subFiles[i].isFile())
{
filelist.add(subFiles[i].getAbsolutePath());
System.out.println(subFiles[i].getAbsolutePath());
}else{
//System.out.println(subFiles[i].getAbsolutePath()+"/r/n");
getAllFile(subFiles[i].getAbsolutePath());
}
}
}
public List getFilelist()
{
return filelist;
}
public class MediaFilter implements FileFilter
{
String[] strfilter= filter.split(",");
public MediaFilter() {}
private boolean isOK(String file){
for(int i=0;i<strfilter.length;i++){
if (file.toLowerCase().endsWith(strfilter[i])){
return true;
}
}
return false;
}
public boolean accept(File dir){
return (isOK(dir.getName())||dir.isDirectory());
}
}
public void ListFile() {
try {
this.getAllFile(filepath);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void OutputFileList(){
FileWriter f=null;
try {
f=new FileWriter(filepath+filetxt);
for(int i=0;i<filelist.size();i++){
f.write((String)filelist.get(i)+"/r/n");
}
f.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
f.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args ){
MediaFileProcess mfp=new MediaFileProcess("E:/");
System.out.println(mfp.getFilepath());
mfp.ListFile();
mfp.OutputFileList();
//System.out.println(mfp.getFilelist().toString());
}
/**
* @return the filepath
*/
public String getFilepath() {
return filepath;
}
/**
* @param filepath the filepath to set
*/
public void setFilepath(String filepath) {
this.filepath = filepath;
}
/**
* @return the filter
*/
public String getFilter() {
return filter;
}
/**
* @param filter the filter to set
*/
public void setFilter(String filter) {
this.filter = filter;
}
/**
* @return the filetxt
*/
public String getFiletxt() {
return filetxt;
}
/**
* @param filetxt the filetxt to set
*/
public void setFiletxt(String filetxt) {
this.filetxt = filetxt;
}
}