vjslib.dll zip文件包含Unicode文件名,即????。xyz

时间:2018-09-20 14:56:49

标签: c# unicode

我在Zip中使用 Unicode名称的文件有问题。我正在使用vjslib.dll。在正常情况下,它可以正常工作,但是当我尝试压缩具有Unicode字符名称如“ サンプルファイル.pdf ”的文件时,它表示为“ ??????”。 ?.pdf ”,同时提取一个zip文件中的Unicode文件名nane表示为“ _______。pdf ” 有没有什么方法可以使用文件的确切名称生成zip文件,而不用英语或其他语言的文件名

zipFileName =“ c:\ SampleZip \ myfile.zip”

sourceFile

  1. c:\ sample \サンプルファイル.pdf
  2. c:\ sample \отличается.xml

    private void Zip(string zipFileName, string[] sourceFile)
    {
        FileOutputStream filOpStrm = new FileOutputStream(zipFileName);
        ZipOutputStream zipOpStrm = new ZipOutputStream(filOpStrm);
        FileInputStream filIpStrm = null;
    
        foreach (string strFilName in sourceFile)
        {
            filIpStrm = new FileInputStream(strFilName);
            ZipEntry ze = new ZipEntry(Path.GetFileName(strFilName));
            zipOpStrm.putNextEntry(ze);
            sbyte[] buffer = new sbyte[1024];
            int len = 0;
    
            while ((len = filIpStrm.read(buffer)) >= 0)
            {
                zipOpStrm.write(buffer, 0, len);
            }
        }
    
        zipOpStrm.closeEntry();
        filIpStrm.close();
        zipOpStrm.close();
        filOpStrm.close();
    }
    

0 个答案:

没有答案