首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Directory.GetFiles或DirectoryInfo.GetFiles返回空列表

Directory.GetFiles或DirectoryInfo.GetFiles返回空列表
EN

Stack Overflow用户
提问于 2015-07-13 01:49:31
回答 1查看 2.2K关注 0票数 0

在ASP.NET应用程序执行过程中,我发现了一些奇怪的行为。如果我将workingFolder (参见下面的代码)设置为System.IO.Path.GetTempPath或任何其他公用文件夹(当前情况),这并不重要。

我收到一个ZIP文件,解压缩该文件(使用SharpZipLib)并尝试消化该文件夹中的文件,但是System.IO GetFiles返回一个空列表。我尝试使用DirectoryInfo.GetFilesDirectory.GetFiles:都是空列表。如果我在Directory.Delete上断点并查看我可以看到的文件夹,它们就不会被锁定,而且我可以对文件做任何事情--即使我在foreach no开头设置了"run游标“点-- GetFiles仍然返回一个空列表(尽管我可以在资源管理器中看到这些文件)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    private const string EXTENSION_LOG_FILE = ".txt";
    private const string VALID_EXTENSION_MASK = "*." + EXTENSION_LOG_FILE;

                var zipFolder = unpackZip(filePath, workingFolder);
            foreach (var zipFileInfo in new DirectoryInfo(zipFolder).GetFiles(VALID_EXTENSION_MASK, SearchOption.TopDirectoryOnly))
            {
                // never get's here
                value.AddRange(getLogItems(zipFileInfo.FullName));
                File.Delete(zipFileInfo.FullName);
            }
            // this fails: folder is not empty
            Directory.Delete(zipFolder);

unpackZip方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private static string unpackZip(string zipFile, string workingFolder)
    {
        // doesn't matter what name I use, GUID or no GUID the GetFiles still returns an empty lists
        var tempFolder = Path.Combine(workingFolder, Guid.NewGuid().ToString()); 
        Directory.CreateDirectory(tempFolder);

        using (var unzipStream = new ZipInputStream(File.OpenRead(zipFile)))
        {
            ZipEntry entry;
            while ((entry = unzipStream.GetNextEntry()) != null)
            {
                var fileName = Path.GetFileName(entry.Name);
                if (fileName == string.Empty) continue;

                using (var streamWriter = File.Create(Path.Combine(tempFolder, Path.GetFileName(entry.Name))))
                {
                    var size = 2048;
                    var data = new byte[2048];
                    while (size > 0)
                    {
                        size = unzipStream.Read(data, 0, data.Length);
                        streamWriter.Write(data, 0, size);
                    }
                }
            }
        }
        return tempFolder;
    }

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-13 01:54:20

我在private const string VALID_EXTENSION_MASK = "*." + EXTENSION_LOG_FILE;中猜到的问题,因为EXTENSION_LOG_FILE = ".txt"反悔了*..txt

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31380184

复制
相关文章
完美解决PHP使用curl返回空白
最新的curl认可证书:https://curl.haxx.se/ca/cacert.pem
房东的狗丶
2023/02/17
3.4K0
从列表中或数组中随机抽取固定数量的元素组成新的数组或列表
2:jQuery版本 那么jQuery中怎么随机选出固定数组数组[1, 2, 3, 4, 5, 6, 7, 8, 9]中的三个元素,并构造成新数组的?
王小婷
2018/08/02
6.1K0
Android列表组件ListView使用详解之动态加载或修改列表数据
在使用ListView组件来显示列表数据时,有的时候我们需要改变列表中的数据,有以下方法:
PHP开发工程师
2021/06/09
1.3K0
3-4 文件读写例子(4)
/*******************************************************
py3study
2020/01/14
3620
迷途知返的滴滴
从美股退市,对于滴滴来讲,或许是再适合不过的事情了。对于滴滴来讲,这更像是一次迷途知返。在中概股回港上市的大潮流里,纵然是滴滴不再这样一个时间档口选择从美股退市,在未来的某一个时间点上,滴滴还是要选择从美股退市的。所以,滴滴选择在这样一个时刻从美股退市,更多地是在做未来必然要做的事情。
孟永辉
2022/05/25
3190
迷途知返的滴滴
Django Model 如何返回空的 QuerySet
>>> from django.contrib.auth.models import User >>> User.objects.none() <QuerySet []> 以上就是本文的全部内容,如果觉得还不错的话。
AlwaysBeta
2022/05/05
7640
【解决】librosa.load MP3返回空 或 报错Input signal length=0 is too small to resample from
        用pydub.utils.mediainfo()去分析,可以发现,它对音频start_time=0的音频都会报这个错,而start_time != 0的就可以正确加载。
小锋学长生活大爆炸
2023/03/01
9760
【解决】librosa.load MP3返回空 或 报错Input signal length=0 is too small to resample from
python中星号的意义(**字典,*列表或元组)
传递实参和定义形参(所谓实参就是调用函数时传入的参数,形参则是定义函数是定义的参数)的时候,你还可以使用两个特殊的语法:*、** 。 调用函数时使用* ,** test(*args)中 * 的作用:其实就是把序列 args 中的每个元素,当作位置参数传进去。比如上面这个代码,如果 args 等于 (1,2,3) ,那么这个代码就等价于 test(1, 2, 3) 。 test(**kwargs)中** 的作用:则是把字典 kwargs 变成关键字参数传递。比如上面这个代码,如果 kwargs 等于 {
用户1214487
2018/01/24
3.7K0
文件方法
C# 获取指定目录下所有文件信息、移动目录、拷贝目录 /// <summary> /// 获取目录下的所有文件夹和文件的path /// </summary> /// <param name="path"></param> /// <returns></returns> public static List<string> getPath(string path) { Directory
用户1055830
2018/01/18
6600
访问权限导致toString返回空BUG分享
这个BUG偶然间发现的,因为之前一直都是用Groovy去写脚本(Groovy默认访问权限是public)。在某一个使用Java写脚本的时候突然发现,我将创建好的对象toString之后竟然是空的,无论是打印对象属性还是非空验证都是通过的。但是通过fastjson的toString方法之后就变成了空。
FunTester
2020/10/19
4410
win10 uwp 解决 SerialDevice.FromIdAsync 返回空
调用 SerialDevice.FromIdAsync 可能返回空,因为没有设置 package.appmanifest 可以使用端口
林德熙
2019/03/13
6330
tp自动验证流程和返回空数组的问题
今天下午上班做配置表数据自动验证更新时,发现验证失败返回false,而验证成功返回的却只是空数组,导致一直判断为false;
仙士可
2019/12/18
9940
Python 中如何向列表或数组添加元素
然而,与其它编程语言不同,数组在 Python 中不是一个内置的数据结构。Python 使用列表取代传统的数组。
Python学习者
2023/09/11
4180
实现列表瀑布流布局(纯css或js定位)
前言:最近项目好几个都怼到一起,导致好久没有更新了。这里就简单记录下这段时间常常要写的瀑布流列表 纯css实现: 直接上代码 <style lang="scss"> .post-list{/* 列表设置,2列;列间距4*/ -webkit-column-count: 2; -webkit-column-gap:16upx; padding: 30upx 16upx; .post-li{ -webkit-col
stys35
2020/06/28
2.1K0
Oracle启动失败startup – 闪回空间满
失败,ORA-03113: end-of-file on communication channel 查看日志: SQL> show parameter db_recovery_file_dest_size;
星哥玩云
2022/08/18
7050
11 - 去掉列表或元组中的重复元素
在python 中如何定义集合,集合与列表有什么区别 # 列表 a = [1, 2, 3, 4, 5] print(type(a)) # 元组 b = (1, 2, 3, 4, 5) print(type(b)) # 集合 c = {1, 2, 3, 4, 5} print(type(c)) <class 'list'> <class 'tuple'> <class 'set'> # 区别: # 1. 集合没有重复的元素,而列表可以有重复的元素 a = [1, 2, 2, 3, 4] print(a)
ruochen
2021/05/22
3.6K0
11 - 去掉列表或元组中的重复元素
CreateWindow返回空句柄而GetLastError返回0咋回事
调用CreateWindow或CreateWindowEx创建窗口返回空句柄时,我们总是会调用GetLastError看下错误码,就知道具体错误的原因(比如窗口类未注册),但如果GetLastError返回0没有报错,是怎么回事呢?
gaigai
2019/08/30
2.3K0
CPS推荐奖励历史返佣规则
2025年3月18日起,沉睡用户定义由“180天内无保有消费记录”变更为“30天内无保有消费记录”。
腾讯云-推广奖励
2022/05/24
7.5K0
Audio Unit录音(播放伴奏+耳返)
前言 相关文章: 使用VideoToolbox硬编码H.264 使用VideoToolbox硬解码H.264 使用AudioToolbox编码AAC 使用AudioToolbox播放AAC
落影
2018/04/27
3.1K0
Audio Unit录音(播放伴奏+耳返)
点击加载更多

相似问题

蓝鸟图早返

21

Mongoose填充返回空数组或ObjectIds列表

21

DirectoryInfo.getFiles以开头

36

Sqlalchemy返标

13

从Directory.GetFiles填充二维列表

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文