コード例 #1
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        //点击查询
        private void bt_Search_Click(object sender, EventArgs e)
        {
            if (tb_SearchFile.Text == "请输入搜索内容!" || tb_SearchFile.Text == "")
            {
                MessageBox.Show("搜索内容为空!");
                tb_SearchFile.Text      = "请输入搜索内容!";
                tb_SearchFile.ForeColor = Color.Gray;
            }
            else
            {
                DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);
                //遍历文件
                if (TheFolder.Exists)
                {
                    lvw_FileList.Items.Clear();
                    foreach (System.IO.FileInfo NextFile in TheFolder.GetFiles())
                    {
                        if (NextFile.ToString().Contains(tb_SearchFile.Text))
                        {
                            ListViewItem item = new ListViewItem();

                            item.Text = NextFile.ToString();
                            item.SubItems.Add(NextFile.LastAccessTime.ToString());
                            item.SubItems.Add(GetFileType(NextFile.Name));

                            lvw_FileList.Items.Add(item);
                        }
                    }
                }
                tb_SearchFile.Text = "当前搜索内容:" + tb_SearchFile.Text;
            }
        }
コード例 #2
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        //转到给定路径
        private void bt_Goto_Click(object sender, EventArgs e)
        {
            tb_SearchFile.Text      = "请输入搜索内容!";
            tb_SearchFile.ForeColor = Color.Gray;
            if (tb_FilePath.Text == "请输入路径!" || tb_FilePath.Text == "")
            {
                MessageBox.Show("路径为空!");
                tb_FilePath.Text      = "请输入路径!";
                tb_FilePath.ForeColor = Color.Gray;
            }
            else
            {
                m_strPath = tb_FilePath.Text;
                DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);
                if (TheFolder.Exists)
                {
                    lvw_FileList.Items.Clear();
                    foreach (System.IO.FileInfo NextFile in TheFolder.GetFiles())
                    {
                        ListViewItem item = new ListViewItem();

                        item.Text = NextFile.ToString();
                        item.SubItems.Add(NextFile.LastAccessTime.ToString());
                        item.SubItems.Add(GetFileType(NextFile.Name));

                        lvw_FileList.Items.Add(item);
                    }
                    tb_FilePath.Text = "当前路径:" + tb_FilePath.Text;
                }
                else
                {
                    MessageBox.Show("路径不存在,请重新输入!");
                }
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: hjieking/-Socket
        /// <summary>
        /// 只能对某个文件夹进行遍历
        /// </summary>
        public static void ScanDirectoryInfo()
        {
            DirectoryInfo theFolder = new DirectoryInfo(@"D:\temp");

            DirectoryInfo[] dirInfo = theFolder.GetDirectories();

            foreach (DirectoryInfo NextFolder in dirInfo)//遍历文件夹
            {
                FileInfo[] fileInfo = NextFolder.GetFiles();
                foreach (FileInfo NextFile in fileInfo)  //遍历文件
                {
                    if (Path.GetExtension(NextFile.ToString()) == ".exe")
                    {
                        temppath.Add(NextFile.FullName);
                        Console.WriteLine(NextFile.FullName);
                        count++;
                    }
                }
            }
            #region MyRegion
            //for (int i = 0; i < count; i++)
            //{
            //    string temp = temppath[i].ToString();
            //    int len = temp.Length;
            //    finallypath.Add(temppath[i].ToString().Substring(0, len - 4));
            //    lastpath.Add(finallypath[i] + ".jpg");
            //}
            //for (int i = 0; i < count; i++)
            //{
            //    File.Copy(temppath[i].ToString(), lastpath[i].ToString());
            //    File.Delete(temppath[i].ToString());
            //}
            //MessageBox.Show("转换完成!");
            #endregion
        }
コード例 #4
0
    void CreateGuankaJsonFile()
    {
        string strPlace    = "树木";
        string path        = Application.streamingAssetsPath + "/" + Common.GAME_RES_DIR + "/image/" + strPlace;
        string path_new    = path + "_new";
        int    width_save  = 1024;
        int    height_save = 768;

        //创建文件夹
        Directory.CreateDirectory(path_new);

        listGuankaJson = new List <GuankaJsonItemInfo>();
        // C#遍历指定文件夹中的所有文件
        DirectoryInfo TheFolder = new DirectoryInfo(path);
        int           idx       = 0;

        // //遍历文件
        foreach (FileInfo NextFile in TheFolder.GetFiles())
        {
            string fullpath = NextFile.ToString();
            //1.jpg
            // Debug.Log(NextFile.Name);
            string ext = FileUtil.GetFileExt(fullpath);
            if ((ext == "png") || (ext == "jpg"))
            {
                string name         = idx.ToString() + "." + ext;
                string filepath_new = NextFile.ToString();
                //重命名
                //filepath_new = path + "/" + name;
                // NextFile.MoveTo(filepath_new);

                GuankaJsonItemInfo info = new GuankaJsonItemInfo();
                //info.pic = NextFile.Name;
                info.id = FileUtil.GetFileName(NextFile.Name);
                listGuankaJson.Add(info);

                idx++;
            }
        }

        //save guanka json
        {
            Hashtable data = new Hashtable();
            data["place"] = strPlace;
            data["items"] = listGuankaJson;
            string strJson = JsonMapper.ToJson(data);
            //Debug.Log(strJson);
            string filepath = path_new + "/guanka.json";
            byte[] bytes    = Encoding.UTF8.GetBytes(strJson);
            System.IO.File.WriteAllBytes(filepath, bytes);
        }

        Debug.Log("CreateGuankaJsonFile Finished");
    }
コード例 #5
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        public static void SearchInSubfolders(object obj)
        {
            FileWorkMain thisform = (FileWorkMain)obj;
            string       text     = thisform.tb_SearchFile.Text;

            DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);

            DirectoryInfo[] Subfolders = TheFolder.GetDirectories();

            if (thisform.InvokeRequired)
            {
                RefreshFileList delegateFunc = new RefreshFileList(SearchInSubfolders);
                thisform.Invoke(delegateFunc, thisform);
            }
            else
            {
                try
                {
                    for (int i = 0; i < Subfolders.Length; i++)
                    {
                        thisform.pgb_isFinish.Value += thisform.pgb_isFinish.Step;
                        foreach (System.IO.FileInfo NextFile in Subfolders[i].GetFiles())
                        {
                            if (text != "请输入搜索内容!")
                            {
                                if (NextFile.ToString().Contains(text))
                                {
                                    ListViewItem item = new ListViewItem
                                    {
                                        Text = NextFile.FullName
                                    };
                                    item.SubItems.Add(NextFile.LastAccessTime.ToString());
                                    item.SubItems.Add(GetFileType(NextFile.Name));

                                    thisform.lvw_FileList.Items.Add(item);
                                }
                            }
                            else
                            {
                                ListViewItem item = new ListViewItem();

                                item.Text = NextFile.FullName;
                                item.SubItems.Add(NextFile.LastAccessTime.ToString());
                                item.SubItems.Add(GetFileType(NextFile.Name));

                                thisform.lvw_FileList.Items.Add(item);
                            }
                        }
                    }
                }
                catch { }
            }
        }
コード例 #6
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        public static void SearchFiles(ListView FileList, string text = "请输入搜索内容!")
        {
            DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);

            DirectoryInfo[] Subfolders = TheFolder.GetDirectories();

            if (TheFolder.Exists)
            {
                try
                {
                    FileList.Items.Clear();
                    foreach (System.IO.FileInfo NextFile in TheFolder.GetFiles())
                    {
                        if (text != "请输入搜索内容!")
                        {
                            if (NextFile.ToString().Contains(text))
                            {
                                ListViewItem item = new ListViewItem();

                                item.Text = NextFile.Name;
                                item.SubItems.Add(NextFile.LastAccessTime.ToString());
                                item.SubItems.Add(GetFileType(NextFile.Name));

                                FileList.Items.Add(item);
                            }
                        }
                        else
                        {
                            ListViewItem item = new ListViewItem();

                            item.Text = NextFile.Name;
                            item.SubItems.Add(NextFile.LastAccessTime.ToString());
                            item.SubItems.Add(GetFileType(NextFile.Name));

                            FileList.Items.Add(item);
                        }
                    }
                }
                catch { }
            }
            else
            {
                MessageBox.Show("文件夹不存在");
            }
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: hjieking/-Socket
        /// <summary>
        /// 自己实现文件遍历包括文件夹
        /// </summary>
        /// <param name="theFolder"></param>
        /// <param name="path"></param>
        public static void ScanInfo(DirectoryInfo theFolder, string path)
        {
            theFolder = new DirectoryInfo(@"" + path + "");
            DirectoryInfo[] dirInfo = theFolder.GetDirectories(); //只能获取文件夹

            foreach (DirectoryInfo NextFolder in dirInfo)         //只获取文件夹
            {
                ScanInfo(NextFolder, NextFolder.FullName);
            }

            FileInfo[] fileInfo = theFolder.GetFiles(); //获取文件
            Console.WriteLine(theFolder.FullName);      //获取文件夹目录
            foreach (FileInfo NextFile in fileInfo)     //遍历文件
            {
                bool ss = Path.GetExtension(NextFile.ToString()).Contains(".");
                if (ss)
                {
                    temppath.Add(NextFile.FullName);
                    Console.WriteLine(NextFile.FullName);
                    count++;
                }
            }
        }
コード例 #8
0
    void CreateGuankaJsonFile(ItemInfo infoImage)
    {
        string path      = dirRootImage + infoImage.id;
        string pathThumb = dirRootImageThumb + infoImage.id;
        string strPlace  = infoImage.id;
        //  string path = Application.streamingAssetsPath + "/" + Common.GAME_RES_DIR + "/image/" + strPlace;

        // int width_save = 1024;
        // int height_save = 768;

        string strLanguageContent = "KEY,CN,EN\n";

        listGuankaJson = new List <GuankaJsonItemInfo>();
        // C#遍历指定文件夹中的所有文件
        DirectoryInfo TheFolder = new DirectoryInfo(path);
        int           idx       = 0;

        // //遍历文件
        foreach (FileInfo NextFile in TheFolder.GetFiles())
        {
            string fullpath = NextFile.ToString();
            //1.jpg
            // Debug.Log(NextFile.Name);
            string ext = FileUtil.GetFileExt(fullpath);
            if ((ext == "png") || (ext == "jpg"))
            {
                string             name         = idx.ToString() + "." + ext;
                string             filepath_new = NextFile.ToString();
                GuankaJsonItemInfo info         = new GuankaJsonItemInfo();
                //info.pic = NextFile.Name;
                info.id = FileUtil.GetFileName(NextFile.Name);
                //将网上下载的图片 统一调整分辨率
                //
                ConvertImage(fullpath, path, info, ext, 1024, 1024);

                //thumb
                ConvertImage(fullpath, pathThumb, info, ext, 256, 256);


                //重命名
                //filepath_new = path + "/" + name;
                // NextFile.MoveTo(filepath_new);


                listGuankaJson.Add(info);
                strLanguageContent += info.id + ",,\n";

                idx++;
            }
        }
        string pathGuanka = dirRootGuanka;

        //创建文件夹
        FileUtil.CreateDir(pathGuanka);
        //save guanka json
        {
            Hashtable data = new Hashtable();
            data["type"]  = strPlace;
            data["items"] = listGuankaJson;
            string strJson = JsonMapper.ToJson(data);
            //Debug.Log(strJson);
            string filepath = pathGuanka + "/item_" + strPlace + ".json";
            byte[] bytes    = Encoding.UTF8.GetBytes(strJson);
            System.IO.File.WriteAllBytes(filepath, bytes);
        }

        //save language
        {
            string filepath = pathGuanka + "/" + strPlace + ".csv";
            SaveString(filepath, strLanguageContent);
        }

        Debug.Log("CreateGuankaJsonFile Finished");
    }
コード例 #9
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        public static void SearchFiles(object obj)
        {
            FileWorkMain thisform = (FileWorkMain)obj;
            string       text     = thisform.tb_SearchFile.Text;

            DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);

            DirectoryInfo[] Subfolders = TheFolder.GetDirectories();

            if (TheFolder.Exists)
            {
                thisform.pgb_isFinish.Value += thisform.pgb_isFinish.Step;
                try
                {
                    thisform.lvw_FileList.Items.Clear();
                    foreach (System.IO.FileInfo NextFile in TheFolder.GetFiles())
                    {
                        if (text != "请输入搜索内容!")
                        {
                            if (NextFile.ToString().Contains(text))
                            {
                                ListViewItem item = new ListViewItem();

                                item.Text = NextFile.FullName;
                                item.SubItems.Add(NextFile.LastAccessTime.ToString());
                                item.SubItems.Add(GetFileType(NextFile.Name));

                                thisform.lvw_FileList.Items.Add(item);
                            }
                        }
                        else
                        {
                            ListViewItem item = new ListViewItem
                            {
                                Text = NextFile.FullName
                            };
                            item.SubItems.Add(NextFile.LastAccessTime.ToString());
                            item.SubItems.Add(GetFileType(NextFile.Name));

                            thisform.lvw_FileList.Items.Add(item);
                        }
                    }

                    /*不建议的处理方式
                     * //SearchInSubfolders s = new SearchInSubfolders
                     * //{
                     * //    FlieList = FileList,
                     * //    text = text
                     * //};
                     * ////////Control.CheckForIllegalCrossThreadCalls = false;
                     * //Thread t = new Thread(new ThreadStart(s.Search));
                     * //t.Start();
                     */
                    Thread thread = new Thread(new ParameterizedThreadStart(SearchInSubfolders));
                    thread.Start(thisform);

                    RefreshFileList update = new RefreshFileList(SearchInSubfolders);
                    thisform.Invoke(update, thisform);
                }
                catch { }
                while (thisform.pgb_isFinish.Value < thisform.pgb_isFinish.Maximum)
                {
                    thisform.pgb_isFinish.Value += thisform.pgb_isFinish.Step;
                    //MessageBox.Show(thisform.pgb_isFinish.Value.ToString());
                }

                if (thisform.pgb_isFinish.Value == 100)
                {
                    thisform.MyDelay(600);
                    thisform.ckb_isFinish.Checked = true;
                    thisform.lbl_isFinish.Text    = "文件搜索或查询已完成";
                    //MessageBox.Show("sss");
                }
            }
            else
            {
                MessageBox.Show("文件夹不存在");
            }
        }