Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# dotnetzip和逗号分隔的文件_C#_Csv_Dotnetzip - Fatal编程技术网

C# dotnetzip和逗号分隔的文件

C# dotnetzip和逗号分隔的文件,c#,csv,dotnetzip,C#,Csv,Dotnetzip,我正在用dotnet开发一个控制台应用程序,它可以读取7zip压缩的csv文件,并将csv文件加载到数据库中。它可以很好地使用带有特殊字符的制表符分隔符,但是如果文件有“逗号”分隔符,则会出现错误消息“错误签名” 代码如下: string DirPath = "myPath/myFolder"; DirectoryInfo dir = new DirectoryInfo(DirPath); FileInfo[] FileList = dir.Get

我正在用dotnet开发一个控制台应用程序,它可以读取7zip压缩的csv文件,并将csv文件加载到数据库中。它可以很好地使用带有特殊字符的制表符分隔符,但是如果文件有“逗号”分隔符,则会出现错误消息“错误签名”

代码如下:

        string DirPath = "myPath/myFolder";
        DirectoryInfo dir = new DirectoryInfo(DirPath);
        FileInfo[] FileList = dir.GetFiles("*.7z", SearchOption.AllDirectories);

        foreach (var fileZip in FileList)
        {
            try
            {
                using (ZipFile zip = ZipFile.Read(fileZip.FullName))
                {
                    var a = zip.Entries.Where(p => p.FileName.EndsWith(".txt") || p.FileName.EndsWith(".csv")).ToList();
在上面的代码部分中,仅当压缩文件具有逗号分隔符时,才会在using语句中抛出错误“bad signature”。 你有什么建议吗?你从来没有面对过这样的事情吗? 提前感谢您的支持!
干杯

我们对CSV文件也使用相同的库,我们没有任何签名问题。确保文件有效且zip未损坏?能否在其他zip实用程序(如7-zip)中打开zip文件?你是怎么写这个文件的?你好,谢谢你的即时回复。这个文件是我自己创建的,现在它是一个txt文件,包含“你好,你好,你是谁”,它被压缩为7z文件。我用记事本编辑器写文件。我是说,你怎么写zip文件。我用7-zip文件管理器。