public CsgoItemsGameFileParser(string filePath) { _csgoKvFile = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); _itemGamesKv = new KeyValue(String.Empty, String.Empty); IsValid = _itemGamesKv.ReadAsText(_csgoKvFile); }
public CsgoItemsGameFileParser(string itemsGameFilePath, string localizationTextFilePath) { _csgoKvFile = new FileStream(itemsGameFilePath, FileMode.Open, FileAccess.Read, FileShare.Read); _locKvFile = new FileStream(localizationTextFilePath, FileMode.Open, FileAccess.Read, FileShare.Read); _itemGamesKv = new KeyValue(string.Empty, string.Empty); _locFile = new KeyValue(string.Empty, string.Empty); IsValid = _itemGamesKv.ReadAsText(_csgoKvFile); _locFile.ReadAsText(_locKvFile); }
static KeyValue LoadFromFile(string path, bool asBinary) { if (File.Exists(path) == false) { return null; } try { using (var input = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var kv = new KeyValue(); if (asBinary) { if (kv.ReadAsBinary(input) == false) { return null; } } else { if (kv.ReadAsText(input) == false) { return null; } } return kv; } } catch (Exception) { return null; } }
/// <summary> /// Attempts to create an instance of <see cref="KeyValue"/> from the given input text. /// </summary> /// <param name="input">The input text to load.</param> /// <returns>a <see cref="KeyValue"/> instance if the load was successful, or <c>null</c> on failure.</returns> /// <remarks> /// This method will swallow any exceptions that occur when reading, use <see cref="ReadAsText"/> if you wish to handle exceptions. /// </remarks> public static KeyValue LoadFromString(string input) { byte[] bytes = Encoding.UTF8.GetBytes(input); using (MemoryStream stream = new MemoryStream(bytes)) { var kv = new KeyValue(); try { if (kv.ReadAsText(stream) == false) return null; return kv; } catch (Exception) { return null; } } }