MFC——获取文件夹下的所有文件并显示在CListCtrl上


//VS2015,//CListCtrl初始化。注意该控件的View属性需要设置为Report!!!!BOOL CloadfileServerDlg::OnInitDialog(){  ......    pListCtr.DeleteAllItems();
    pListCtr.InsertColumn(0, _T("文件名"), LVCFMT_CENTER, 120);
    pListCtr.InsertColumn(1, _T("文件类型"), LVCFMT_CENTER, 100);
    pListCtr.InsertColumn(2, _T("文件大小"), LVCFMT_CENTER, 140);
    pListCtr.InsertColumn(3, _T("存放路径"), LVCFMT_LEFT, 500);  ......}
//列表出文件
void CloadfileServerDlg::getFileList(char* szPath)//参数为文件夹路径,如:"C:\\Users\\ForeverRoad\\Desktop\\serverImg"
{
    pListCtr.DeleteAllItems();
    CFileFind finder;
    //建立CString对象,设置检索匹配字符串
    CString strWildcard(szPath);
    strWildcard += _T("\\*.*");

    //文件内部检索
    BOOL bWorking = finder.FindFile(strWildcard);
    int i; //用于定位字符,作为下标
    int index = 0;    //用于列表索引

    CString fontName, lastType, filepath,filename,filesize;//存储切割结果
    while (bWorking)
    {
        bWorking = finder.FindNextFile();
        filename = finder.GetFileName();     //假设文件夹里面全是图片,获取图片文件长度
        imageSize = finder.GetLength();
        if (filename != _T(".") && filename != _T(".."))
        {
            filepath = finder.GetFilePath();
            for (i = 0;i < filename.GetLength();i++)
            {
                if (filename[i] == ‘.‘)
                {
                    fontName = filename.Mid(0, i);
                    lastType = filename.Mid(i+1, filename.GetLength());

                    filesize.Format(_T("%d"), imageSize/1024);
                    filesize += "k";
                    pListCtr.InsertItem(index, fontName);
                    pListCtr.SetItemText(index, 1, lastType);
                    pListCtr.SetItemText(index, 2, filesize);
                    pListCtr.SetItemText(index, 3, filepath);
                }
            }
            index++;
        }
    }
    finder.Close();
}

  文件夹内部内容,从cmd看:

  

  程序运行结果:

  

时间: 2025-01-12 16:27:29

MFC——获取文件夹下的所有文件并显示在CListCtrl上的相关文章

JAVA获取文件夹下所有的文件

package com.test; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; /** *获取文件夹下所有的文件 */ public class FileTest { private static final Logger logger = LoggerFactory.getLogger(FileTest.class); @Test pub

Java遍历一个文件夹下的全部文件

Java工具中为我们提供了一个用于管理文件系统的类,这个类就是File类,File类与其它流类不同的是,流类关心的是文件的内容.而File类关心的是磁盘上文件的存储. 一,File类有多个构造器,经常使用的构造器有: 1.public File(String pathname){} 在pathname路径下创建文件对象 2.public File(String path,String name){} 在path參数指定的文件夹中创建具有给定名字的File对象.假设path为null,构造器将使用

如何批量获得window中某个文件夹下的所有文件或者文件夹的名称

一.出发点 为了整理资料,在考虑如何批量获取某个文件夹下的所有文件夹的名称,对一个个文件夹进行复制太过麻烦,差了点资料想到了用命令行的方法实现了. 二.实现方法 1.第一步:打开window的命令提示符: 2.第二步:我的文件夹是在G盘的某个路径下,那么我的操作是: ①在打开的命令提示符下输入"G:回车" ②输入"cd 文件夹的路径" ③在路径切换成功后,输入"dir" ④以上操作可以将文件名显示出来. 三.截图

IO流的练习3 复制多级文件夹下的指定文件并改名

需求:复制指定目录下的指定文件,并修改后缀名. 指定的文件是:.java文件. 指定的后缀名是:.jad 数据源所在文件夹:C:\Users\Administrator\Desktop\记录 目的地所在文件夹:C:\Users\Administrator\Desktop\新建文件夹\copy 分析: A:封装数据源的目录 B:封装目的地的目录 判断路径下的文件是否是文件夹 是:在目的文件夹下创建该文件, 获取数据源所在文件夹的所有文件的File数组 遍历File数组,得到每个文件的File对象

JAVA 遍历文件夹下的所有文件

JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = 0, folderNum = 0; File file = new File(path); if (file.exists()) { LinkedList<File> list = new LinkedList<File>(); File[] files = file.listFile

C#中拷贝指定文件夹下的所有文件夹目录到指定文件夹中的方法

原文地址:http://www.biye5u.com/article/Csharp/fileprog/2011/4198.html 本文给出了一个在C#中拷贝指定文件夹下的所有文件夹目录到指定文件夹中的方法. public static void CopyFolder(string strFromPath,string strToPath){       //如果源文件夹不存在,则创建       if (!Directory.Exists(strFromPath))       {      

文件夹下迭代查询文件

[客户需求]:由于客户需要查询的图片太多(每天好多张),通过文章登记或者附件上传太麻烦,想要通过FTP上传到服务器中,然后在前台查询,将图片显示出来.但图片太多,每天上传,为了管理方便,每天新建一个文件夹,直接将文件夹中的图片上传,而该文件夹下又有若干层和若干个子文件夹. [分析]:文件夹不确定,文件夹名字也不确定,甚至图片的格式也不确定,而用户输入一个图片编号(图片名字,如:_20140926135.JPG 编号:20140926135),则需要将所在文件夹中的图片编号和图片显示出来.那么则需

Nodejs下如何判断文件夹的存在以及删除文件夹下所有的文件

代码如下: 1 var folder_exists = fs.existsSync('./cache'); 2 3 if(folder_exists == true) 4 { 5 var dirList = fs.readdirSync('./cache'); 6 7 dirList.forEach(function(fileName) 8 { 9 fs.unlinkSync('./cache/' + fileName); 10 }); 11 } 第一行代码判断当前文件夹下有无cache目录,如

linux查找文件夹下的全部文件里是否含有某个字符串

查找文件夹下的全部文件里是否含有某个字符串 find .|xargs grep -ri "IBM" 查找文件夹下的全部文件里是否含有某个字符串,而且仅仅打印出文件名称 find .|xargs grep -ri "IBM" -l 1.正則表達式 (1)正則表達式一般用来描写叙述文本模式的特殊使用方法,由普通字符(比如字符a-z)以及特殊字符(称为元字符.如/.*.?等)组成. (2)基本元字符集及其含义 ^ :仅仅匹配行首. 如^a 匹配以a开头的行abc,a2e,

遍历一个文件夹下的所有文件

一个老问题,但是总有人爱问,遍历一个文件夹下的所有文件,并输出文件信息. using System; using System.Collections.Generic; using System.ComponentModel;using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; namespace IOTest { public partial class For