کتابخانه ini-parser سی شارپ – کار با فایل ini

کار با فایل ini در سی شارپ به کمک کتابخانه ini-parser
INI File Parser + سورس کد اصلی + DLL


در مورد ساختار فایل ini، می‌توانید «این‌لینک» را مطالعه کنید.

قبلا در «این لینک»، به یک روش ساده جهت کار با فایل‌های ini در سی‌شارپ پرداختیم؛ اما آن روش هم ساده بود و هم اینکه بهینه، اصولی و بدون خطا طراحی نشده بود. بنابراین امروز قصد دارم تا از یک کتابخانه‌ای به نام ini-parser، برای پردازش فایل ini استفاده کنیم.

این کتابخانه، برای .NET، مونو (Mono) و یونیتی (Unity) که از سی شارپ پشتیبانی می‌کنند، طراحی شده است؛ و به شما کمک می‌کند تا بتوانید فایلی با ساختار ini را خوانده و یا محتوای آن را ویرایش کنید؛ و البته بتوانید یک فایل ini جدید بسازید.

این کتابخانه به طور 100% با دات نت فریمورک نوشته شده است و از API ویندوز در آن هیچ استفاده‌‍ای نشده؛ بنابراین در هر محیط دات نتی نیز قابل پیاده‌سازی می‌باشد.

نصب و راه اندازی

در محیط ویژوال استودیو و پروژه‌ی خود، از منوی Tools، وارد NuGet Package Manager شده و روی Package Manager Console کلیک کنید. دستور زیر را تایپ کرده و Enter را بزنید تا کتابخانه نصب شود:

Install-Package ini-parser

همچنین می‌توانید فایل dll آن را نیز از انتهای مطلب دریافت کنید.

روش استفاده

خواندن یک فایل ini

FileIniDataParser parser = new FileIniDataParser();
IniData data = parser.ReadFile("Configuration.ini");

گرفتن یک کلید از یک بخش

string useFullScreenStr = data["UI"]["fullscreen"];
bool useFullScreen = bool.Parse(useFullScreenStr);

در کد بالا که از IniData همانند یک آرایه دوبعدی استفاده کرده است. UI به Section یا بخش مورد نظر در ساختار فایل ini اشاره داشته و fullscreen نیز به کلید موجود در آن بخش. همچنین مقدار خانه یا کلید نیز همواره رشته خواهد بود؛ ولی ممکن است در آن عدد یا بولین و … باشد و می‌توان در ادامه‌ی کد، آن را به مقدار مورد نظر تبدیل کرد.


تغییر یک مقدار (یا اضافه کردن)

data["UI"]["fullscreen"] = "true";
parser.WriteFile("Configuration.ini", data);

فهمیدن این کد نیز با توجه به کد قبلی ساده‌تر است. ابتدا کلید مورد نظر را در data تغییر داده و سپس از تابع WriteFile مربوط به آبجکت parser؛ جهت ذخیره‌ی آن استفاده می‌شود. (یعنی اطلاعاتِ ویرایش شده را روی فایل می‌نویسد)


ترکیب دو فایل ini

var parser = new IniParser.Parser.IniDataParser();

IniData config = parser.Parse(File.ReadAllText("global_config.ini"));
IniData user_config = parser.Parse(File.ReadAllText("user_config.ini"));
config.Merge(user_config);

در اینجا، فایل اول با دومی ترکیب شده است؛ بنابراین اگر موارد تکراری وجود داشته باشند، اولویت با فایل دومی است. به عبارتی در کد بالا، فایل دومی را روی فایل اولی ریخته‌ایم.

البته می‌توان فقط یک بخشی را ترکیب کرد:

config["user_settings"].Merge(user_config["user_settings"]);

کار با کامنت‌ها

همانطور که می‌دانید، فایل ini می‌تواند  شامل کامنت نیز باشد:

var listOfCommentsForSection = config.["user_settings"].Comments;
var listOfCommentsForKey = config["user_settings"].GetKeyData("resolution").Comments;

به صورت بالا، می‌توان به کامنت‌‌های مربوط به هر بخش یا هر کلیدی دسترسی داشت.

صفحات رسمی

جعبه دانلود نیم‌بها

  • نسخه فایل 2.5.2
  • پسورد (در صورت نیاز) www.fullkade.com

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده بدون دیدگاه

توضیحات دانلود نظرات اشتراک