Две точки здесь в пути. Удалить один. Неправильный путь к компоненту в модуле маршрутизации функций
import { PautasComponent } from '../components/pautas/pautas.component';
Нет нет никакой встроенной поддержки этого.
необходимо сделать собственный "INIFileReader". Возможно, что-то вроде этого?
var data = new Dictionary<string, string>();
foreach (var row in File.ReadAllLines(PATH_TO_FILE))
data.Add(row.Split('=')[0], string.Join("=",row.Split('=').Skip(1).ToArray()));
Console.WriteLine(data["ServerName"]);
Редактирование: Обновленный для отражения комментария Paul.
C# обычно использует находящиеся в xml файлы конфигурации, а не *.ini-style, файл как Вы сказал, таким образом, нет ничего встроенного для обработки этого. Однако Google возвращается количество обещания результатов .
Я не знаю ни о каком встроенном способе сделать это. Однако казалось бы достаточно легким сделать, так как единственные разделители, о которых необходимо волноваться, являются символом новой строки, и равняется знаку.
было бы очень легко записать стандартную программу, которая возвратит NameValueCollection или IDictionary, учитывая содержание файла.
Да существует не создан в классах, чтобы сделать это, что я знаю.
, Но это не должно действительно быть проблемой, должен он? Выглядит достаточно легким проанализировать только путем хранения результата Stream.ReadToEnd()
в строке, разделения на основе новых строк и затем разделения каждой записи на =
символ. То, с чем Вас оставили бы, является набором пар значения ключа, которых можно легко бросить в словарь.
Вот пример, который мог бы работать на Вас:
public static Dictionary<string, string> GetProperties(string path)
{
string fileData = "";
using (StreamReader sr = new StreamReader(path))
{
fileData = sr.ReadToEnd().Replace("\r", "");
}
Dictionary<string, string> Properties = new Dictionary<string, string>();
string[] kvp;
string[] records = fileData.Split("\n".ToCharArray());
foreach (string record in records)
{
kvp = record.Split("=".ToCharArray());
Properties.Add(kvp[0], kvp[1]);
}
return Properties;
}
Вот пример того, как использовать его:
Dictionary<string,string> Properties = GetProperties("data.txt");
Console.WriteLine("Hello: " + Properties["Hello"]);
Console.ReadKey();
Я написал метод, который позволяет пустые строки, извлечение комментариев и цитирование в файле.
Примеры:
var1 = "value1"
var2 = 'значение2'
'var3 = outcommented
; var4 = тоже закомментировано
Вот метод:
public static IDictionary ReadDictionaryFile(string fileName)
{
Dictionary<string, string> dictionary = new Dictionary<string, string>();
foreach (string line in File.ReadAllLines(fileName))
{
if ((!string.IsNullOrEmpty(line)) &&
(!line.StartsWith(";")) &&
(!line.StartsWith("#")) &&
(!line.StartsWith("'")) &&
(line.Contains('=')))
{
int index = line.IndexOf('=');
string key = line.Substring(0, index).Trim();
string value = line.Substring(index + 1).Trim();
if ((value.StartsWith("\"") && value.EndsWith("\"")) ||
(value.StartsWith("'") && value.EndsWith("'")))
{
value = value.Substring(1, value.Length - 2);
}
dictionary.Add(key, value);
}
}
return dictionary;
}
Большинство файлов Java ".properties" можно разделить, предполагая, что "=" является разделителем, но формат значительно сложнее этого и позволяет встраивать пробелы, равенства, новые строки и любые символы Unicode либо в имя свойства, либо в значение.
Мне нужно было загрузить некоторые свойства Java для приложения C #, поэтому я реализовал JavaProperties.cs для правильного чтения и записи файлов в формате «.properties», используя тот же подход, что и в версии Java - вы можете найти его по адресу http: //www.kajabity. com / index.php / 2009/06 / loading-java-properties-files-in-csharp / .
Там,вы найдете zip-файл, содержащий исходный код C # для класса и несколько примеров файлов свойств, с которыми я его тестировал.
Наслаждайтесь!
Я понимаю, что это не совсем то, о чем вы спрашиваете, но на всякий случай:
Когда вы хотите загрузить фактические свойства Java файл, вам необходимо указать его кодировку. В документации Java указано, что используется кодировка ISO 8859-1, которая содержит некоторые escape-последовательности, которые вы можете неправильно интерпретировать. Например, посмотрите этот ответ SO , чтобы узнать, что необходимо для преобразования UTF-8 в ISO 8859-1 (и наоборот)
Когда нам нужно было это сделать, мы нашли открытый исходный код PropertyFile.cs и внес несколько изменений для поддержки управляющих последовательностей. Этот класс хорошо подходит для сценариев чтения / записи. Вам также понадобится вспомогательный класс PropertyFileIterator.cs .
Даже если вы не загружаете истинные свойства Java, убедитесь, что ваш файл prop может выражать все символы, которые вам нужно сохранить (как минимум UTF-8)