private string GetCodeString() { if (_code == null) { using (var fStream = new FileStream(_path, FileMode.Open, FileAccess.Read)) { var buf = new byte[2]; fStream.Read(buf, 0, 2); Encoding enc = null; bool skipShebang = false; if (IsLinuxScript(buf)) { enc = Encoding.UTF8; // скрипты с shebang считать в формате UTF-8 skipShebang = true; } else { fStream.Position = 0; enc = FileOpener.AssumeEncoding(fStream, _noBomEncoding); } using (var reader = new StreamReader(fStream, enc)) { if (skipShebang) { reader.ReadLine(); } _code = reader.ReadToEnd(); } } } return(_code); }
private string GetCodeString() { using (var reader = FileOpener.OpenReader(_path)) { return(reader.ReadToEnd()); } }
private string GetCodeString() { if (_code == null) { using (var reader = FileOpener.OpenReader(_path)) { _code = reader.ReadToEnd(); } } return(_code); }