SmartDeveloper
SmartDeveloper

Reputation: 58

How to read path from another method

I have a method which unzips file from my method, and I have a separate method which I want to create so it can read the unzip files and load them as needed.

    private string UnzipFiles()
    {
        Chilkat.Zip zip = new Chilkat.Zip();
        string zippedFilePath = @"C:\Users\TestData";
        string unzippedFilePath = @"C:\Users\Temp";

        bool success = zip.UnlockComponent("LIVECOZIP_3BzssvnbmYxp");

        if (!success)
        {
            string errorMsg = zip.LastErrorText;
            Console.WriteLine(errorMsg);
            return errorMsg;
        }

        string[] newzip = (Directory.GetFiles(zippedFilePath));

        foreach (string file in newzip)
        {
            success = zip.OpenZip(file);
            {
                Console.WriteLine(zip.LastErrorText);

            }
            zip.DecryptPassword = "hANhvU8MX7iq0f2M";
            int unzipCount;

            unzipCount = zip.Unzip(unzippedFilePath);
            if (unzipCount < 0)
            {
                Console.WriteLine("unzipping file");
            }
        }
        return unzippedFilePath;

The method below is where I need help. I want to call the method above and be able to read each file. Right now I am getting error.

   public void LoadNewFile()
    {
        UnzipFiles();

         foreach (String file in UnzipFiles) 
         //How to call each file?
         {
           userSelectedFilePath += file + Environment.NewLine;
           names_of_files.Add(file);
         }

Upvotes: 1

Views: 73

Answers (2)

yolo sora
yolo sora

Reputation: 442

Try this:

var path = UnzipFiles();
var unZippedFiles = Directory.GetFiles(path);
foreach (var file in unZippedFiles)
{
 //tratata
}

Upvotes: 2

David Setty
David Setty

Reputation: 609

I would say you need to change UnzipFiles to return a List of strings. Something like this:

private List<string> UnzipFiles()
{
    Chilkat.Zip zip = new Chilkat.Zip();
    string zippedFilePath = @"C:\Users\TestData";
    string unzippedFilePath = @"C:\Users\Temp";
    var unzippedFileList = new List<string>();

    bool success = zip.UnlockComponent("LIVECOZIP_3BzssvnbmYxp");

    if (!success)
    {
        string errorMsg = zip.LastErrorText;
        Console.WriteLine(errorMsg);
        return errorMsg;
    }

    string[] newzip = (Directory.GetFiles(zippedFilePath));

    foreach (string file in newzip)
    {
        unzippedFileList.Add(file);
        success = zip.OpenZip(file);
        {
            Console.WriteLine(zip.LastErrorText);

        }
        zip.DecryptPassword = "hANhvU8MX7iq0f2M";
        int unzipCount;

        unzipCount = zip.Unzip(unzippedFilePath);
        if (unzipCount < 0)
        {
            Console.WriteLine("unzipping file");
        }
    }

    return unzippedFileList;
}

Upvotes: 1

Related Questions