C#は自動的にデータを保存して読み取ります

C#は自動的にデータを保存して読み取ります

ロボット把持プロジェクトでは、ロボットとカメラの姿勢が変わらないことを前提に、「9点キャリブレーション」方式により、機械座標とカメラ座標の変換関係を確立するためのデータセットを取得しました。 、このデータセットが保存されていない場合は、操作インターフェイスを開くたびに、再調整する必要があります。繰り返しの操作を避けるために、データは自動的に保存され、次のクロール時に自動的に読み取られる必要があります。解決策は次のとおりです。

ファイルの保存方法:

        /// <summary>
        /// 
        /// </summary>
        /// <param name="name"> 文件名 </param>
        /// <param name="data"> 保存的数据 </param>
        /// <returns></returns>
        private string SaveToFile(string name,string data)
        {
            string CurDir = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir\";    //设置保存路径为当前目录(保存在项目文件夹下)
            if (!System.IO.Directory.Exists(CurDir)) System.IO.Directory.CreateDirectory(CurDir);   //如果该路径不存在时,在当前文件目录下创建文件夹

            String filePath = CurDir + name + ".txt";//保存文件的路径+名称+格式
            System.IO.StreamWriter file1 = new System.IO.StreamWriter(filePath, false);     //文件以覆盖方式添加内容(即下一次添加的数据会覆盖当前的数据)

            file1.Write(data);                                                              //保存数据到文件

            file1.Close();                                                                  //关闭文件
            file1.Dispose();                                                                //释放对象

            return filePath;
        }

ファイル保存メソッドを呼び出す:

ファイル名と保存するデータをメソッドに渡すと、プロジェクトフォルダーにSaveDirファイルが生成され(ファイル名は自分で定義できます)、「キャリブレーションパラメーター」テキストファイルがこのファイルに保存されます。メソッドが正常に呼び出された後、次の図に示すように、プロジェクトフォルダーを開いて表示できます。

ファイルの読み取り方法:

        /// <summary>
        /// 
        /// </summary>
        /// <param name="filePath"> 文件路径 </param>
        /// <returns></returns>
        public string fileToString(string filePath)
        {
            string str = "";

            //获取文件内容
            if (System.IO.File.Exists(filePath))
            {
                System.IO.StreamReader file1 = new System.IO.StreamReader(filePath);//读取文件路径
                str = file1.ReadToEnd();                                            //读取文件中的数据

                file1.Close();
                file1.Dispose();
            }
            return str;
        }

ファイル読み取りメソッドを呼び出します。

              //将文件保存方法中生成的文件路径传入到文件读取方法中
              string strData = fileToString(System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir\" + "标定参数" + ".txt");

 

おすすめ

転載: blog.csdn.net/Kevin_Sun777/article/details/109366998