예제 #1
0
        private void PullFileMethod()
        {
            string localDataPath = Config.DefaultConfig[DATA_PATH, SCAN_DATA_PATH];

            if (string.IsNullOrEmpty(localDataPath))
            {
                localDataPath = Environment.CurrentDirectory;
                Config.DefaultConfig[DATA_PATH, SCAN_DATA_PATH] = localDataPath;
                Config.DefaultConfig.Save();
            }

            if (!Directory.Exists(localDataPath))
            {
                try
                {
                    Directory.CreateDirectory(localDataPath);
                }
                catch
                {
                    updateProcessBar.Invoke(-2);
                    return;
                }
            }

            List <string> dataFiles = AdbCommand.Ls(DEVICE_DATA_PATH);

            if (dataFiles == null || dataFiles.Count == 0)
            {
                updateProcessBar.Invoke(-2);
                return;
            }
            else
            {
                int max = toolStripProgressBar.Maximum;
                toolStripProgressBar.Value = 0;
                int count = 0;

                foreach (string s in dataFiles)
                {
                    // 获取s的文件名,判断在本地是否存在,如果存在,
                    // 则为文件增加序号,最终结果变化为:
                    // xxxx.txt,xxxx_1.txt,xxxx_2.txt等
                    string tmpPath = GetFilePath(s, localDataPath);

                    if (string.IsNullOrEmpty(tmpPath))
                    {
                        continue;
                    }

                    AdbCommand.CopyFromAndroid(s, tmpPath);
                    AdbCommand.Move(s, DEVICE_BACK_PATH + "//" + GetFileName(tmpPath, '\\') + ".txt");
                    updateProcessBar.Invoke(++count);
                }

                updateProcessBar.Invoke(-1);
            }
        }