Для бега трусцой общей памяти Java имеет эти файлы с расширением ".properties", которые являются в основном текстовым ASCII-файлом, полным пар "ключ-значение". Платформа имеет некоторые действительно простые способы высосать тот файл в (по существу) воображение hashmap.
Два больших преимущества (поскольку я вижу его), быть экстремальной простотой и редактирования руки и чтения/записи.
.NET имеет эквивалент испеченным в? Несомненно, я мог сделать то же с XML-файлом, но я не должен буду скорее вручать типу все те угловые скобки, если Вы понимаете, о чем я. Кроме того, способ высосать все данные в структуру данных в памяти в одной строке хорош также.
(Боковая панель: Я отчасти не могу полагать, что это уже не спросили здесь, но я не мог найти такой вопрос.)
Править:
Для ответа на вопрос, подразумеваемый некоторыми комментариями, я не ищу способ конкретно считать Java .properties файлы под.NET, я ищу функциональный эквивалент во вселенной.NET. (И я надеялся, что это не будет основано на XML, по-видимому, забыв, что это-.NET, о которой мы говорим.)
И, в то время как файлы конфигурации близки, мне нужен способ сохранить некоторые произвольные строки, не информацию о конфигурации приложения, таким образом, фокус и дизайн файлов конфигурации казались неосновными.
Вы можете достичь аналогичного элемента функциональности для файлов свойств, используя файлы настроек (в VS, добавьте новый файл настроек ») - но он на основе XML.
Вы можете получить доступ к настройкам, используя класс автоматически сгенерированных настроек, и даже обновляйте их и сохраняйте их обратно в файл конфигурации - все без записи любого из кода котел. Настройки являются сильно типы, и могут быть указаны как «пользователь» (сохранены в папке данных приложения пользователя) или «приложение» (сохранено в той же папке, что и запущенная EXE).
Есть сторонний компонент, называемый NINI, который можно найти в SourceForge.net
Для примера:
using Nini; using Nini.Config; namespace niniDemo{ public class niniDemoClass{ public bool LoadIni(){ string configFileName = "demo.ini"; IniConfigSource configSource = new IniConfigSource(configFileName); IConfig demoConfigSection = configSource.Configs["Demo"]; string demoVal = demoConfigSection.Get("demoVal", string.Empty); } } }
Приведенный выше файл образца «Demo.ini.ini» будет:
[Demo] demoVal = foobar
, если значение Demoval
- это нулевой или пустой, по умолчанию по умолчанию string.empty
.
.NET способ - использовать файл конфигурации . Платформа .NET даже предлагает API для работы с ними .