Exemple #1
0
        private bool DoTrackOneFile(TrackDataFrame tdf, string inFile)
        {
            if (!File.Exists(inFile))
            {// 不存在相当于处理成功
                return true;
            }

            FileStream inFileStream = null;
            BinaryReader br = null;
            try
            {
                // 打开输入文件
                inFileStream = new FileStream(inFile, FileMode.Open);
                br = new BinaryReader(inFileStream);
                nByteFile = (ulong)br.BaseStream.Length;
                nByteProcessed = 0;

                bool bret = tdf.TrackFile(br, ref nByteProcessed);

                // 关闭输入文件
                br.Close();
                br = null;
                inFileStream.Close();
                inFileStream = null;

                // 一般表示输出文件无法打开等错误
                if (!bret)
                {
                    tdf.Close();
                    MessageBox.Show("out error!");
                    return false;
                }
            }
            catch (ThreadAbortException)
            {
                tdf.Close();
                if (br != null)
                {
                    br.Close();
                }
                if (inFileStream != null)
                {
                    inFileStream.Close();
                }
                return false;
            }
            catch (Exception)
            {
                ;// continue;
            }
            return true;
        }
Exemple #2
0
        private void DoTrack()
        {
            TrackDataFrame tdf = new TrackDataFrame();
            tdf.OutInfo = this.GetTrackInfo();
            nFileProcessed = 0;
            for (int i = 0; i < this.listBoxInFile.Items.Count; i++)
            {

                if (!DoTrackOneFile(tdf, this.listBoxInFile.Items[i].ToString()))
                {
                    return;
                }
                nFileProcessed++;
                Thread.Sleep(10);
            }
            tdf.Close();
            MessageBox.Show("well done!");
        }