33,007
社区成员
发帖
与我相关
我的任务
分享
//在当前目录及其子目录下递归寻找jpg文件,并拷贝至工作目录下
void CVideoConverterDlg::copyFolder(CString CurrentPath,bool &FolderNoPic)
{
CFileFind PicFinder;
BOOL bFind = PicFinder.FindFile(CurrentPath+_T("\\*.*"));
while(bFind)
{
bFind = PicFinder.FindNextFileW();
// "."表示当前目录,“..”表示上一级目录,略过
if(PicFinder.IsDots())
{
continue;
}
//如果是子目录,递归搜索
if(PicFinder.IsDirectory())
{
copyFolder(PicFinder.GetFilePath(),FolderNoPic);
}
else
{
//获取文件后缀名
CString JFileName = PicFinder.GetFileName();
CString JFileExt = JFileName.Mid(JFileName.ReverseFind('.')+1);
//判断是否jpg文件
if(JFileExt == _T("jpg") || JFileExt == _T("JPG"))
{
//找到jpg文件
FolderNoPic = false;
CString JNewFileName;
//采用统一格式命名
JNewFileName.Format(_T("resources\\pictures\\pic%d.jpg"),++m_JFileNum);
//拷贝文件至工作目录
CopyFile(PicFinder.GetFilePath(),JNewFileName,false);
//去掉新文件的只读属性,以方便删除
SetFileAttributes(
JNewFileName,
FILE_ATTRIBUTE_NORMAL
);
}
}
}
return ;
}
import java.io.File;
public class FileList {
public void list(File f) {
// 是文件
if (f.isFile()) {
String str= f.getName();
if (str.contains(".exe") ) {
//输出路径
System.out.println(f.getAbsolutePath());
}
}
// 是目录
else if (f.isDirectory()) {
File[] fs = f.listFiles();
for (File fx : fs) {
list(fx);
}
}
}
public static void main(String[] args) {
System.out.println("@@@@@@@@@@@@开始@@@@@@@@");
FileList a = new FileList();
a.list(new File("D://test"));
System.out.println("@@@@@@@@@@@@结束@@@@@@@@");
}
}
int Search(string path)
{
string filename,subpath;
while(filename=GetFileName())//得到文件
{
if(filename.reversefind(".exe")==filename.getlength()-4//以.exe结尾
{
out(path+filename);//输出
}
}
while(subpath=GetSubPathName())//得到子文件夹
{
Search(subpath);//查找子文件夹
}
return 0;
}