C# StreamReader.ReadLine的代码示例
通过代码示例来学习C# StreamReader.ReadLine方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
StreamReader.ReadLine是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的StreamReader.ReadLine() 已经帮大家高亮显示了,大家可以重点学习StreamReader.ReadLine() 方法的写法,从而快速掌握该方法的应用。
StreamReader.ReadLine的代码示例1 - CanDeleteHydratedFilesWhileTheyAreOpenForWrite()
using System.IO; [TestCase] public void CanDeleteHydratedFilesWhileTheyAreOpenForWrite() { FileSystemRunner fileSystem = FileSystemRunner.DefaultRunner; string fileName = "GVFS.sln"; string virtualPath = this.Enlistment.GetVirtualPathTo(fileName); virtualPath.ShouldBeAFile(fileSystem); using (Stream stream = new FileStream(virtualPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite | FileShare.Delete)) using (StreamReader reader = new StreamReader(stream)) { // First line is empty, so read two lines string line = reader.ReadLine() + reader.ReadLine(); line.Length.ShouldNotEqual(0); File.Delete(virtualPath); this.VerifyExistenceAfterDeleteWhileOpen(virtualPath, fileSystem); using (StreamWriter writer = new StreamWriter(stream)) { writer.WriteLine("newline!"); writer.Flush(); this.VerifyExistenceAfterDeleteWhileOpen(virtualPath, fileSystem); } } virtualPath.ShouldNotExistOnDisk(fileSystem); }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:31,代码来源:BasicFileSystemTests.cs
在CanDeleteHydratedFilesWhileTheyAreOpenForWrite()方法中,StreamReader的代码示例类中的ReadLine的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
StreamReader.ReadLine的代码示例2 - ParseDiffFile()
using System.IO; public void ParseDiffFile(string filename) { using (ITracer activity = this.tracer.StartActivity("PerformDiff", EventLevel.Informational)) { using (StreamReader file = new StreamReader(File.OpenRead(filename))) { while (!file.EndOfStream) { this.EnqueueOperationsFromDiffTreeLine(activity, file.ReadLine()); } } this.FlushStagedQueues(); } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:17,代码来源:DiffHelper.cs
在ParseDiffFile()方法中,StreamReader的代码示例类中的ReadLine的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
StreamReader.ReadLine的代码示例3 - TryLoadFromDisk()
using System.IO; /// An optional callback to be run as soon as the fileLock is taken protected bool TryLoadFromDisk
( TryParseAdd tryParseAdd, TryParseRemove tryParseRemove, Action add, out string error, Action synchronizedAction = null) { lock (this.fileLock) { try { if (synchronizedAction != null) { synchronizedAction(); } this.fileSystem.CreateDirectory(this.dataDirectoryPath); this.OpenOrCreateDataFile(retryUntilSuccess: false); if (this.collectionAppendsDirectlyToFile) { this.RemoveLastEntryIfInvalid(); } long lineCount = 0; this.dataFileHandle.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(this.dataFileHandle); Dictionary parsedEntries = new Dictionary (); while (!reader.EndOfStream) { lineCount++; // StreamReader strips the trailing /r/n string line = reader.ReadLine(); if (line.StartsWith(RemoveEntryPrefix)) { TKey key; if (!tryParseRemove(line.Substring(RemoveEntryPrefix.Length), out key, out error)) { error = string.Format("{0} is corrupt on line {1}: {2}", this.GetType().Name, lineCount, error); return false; } parsedEntries.Remove(key); } else if (line.StartsWith(AddEntryPrefix)) { TKey key; TValue value; if (!tryParseAdd(line.Substring(AddEntryPrefix.Length), out key, out value, out error)) { error = string.Format("{0} is corrupt on line {1}: {2}", this.GetType().Name, lineCount, error); return false; } parsedEntries[key] = value; } else { error = string.Format("{0} is corrupt on line {1}: Invalid Prefix '{2}'", this.GetType().Name, lineCount, line[0]); return false; } } foreach (KeyValuePair kvp in parsedEntries) { add(kvp.Key, kvp.Value); } if (!this.collectionAppendsDirectlyToFile) { this.CloseDataFile(); } } catch (IOException ex) { error = ex.ToString(); this.CloseDataFile(); return false; } catch (Exception e) { this.CloseDataFile(); throw new FileBasedCollectionException(e); } error = null; return true; } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:95,代码来源:FileBasedCollection.cs
在TryLoadFromDisk()方法中,StreamReader的代码示例类中的ReadLine的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
StreamReader.ReadLine的代码示例4 - GetPersistedValue()
using System.IO; private static string GetPersistedValue(string dotGVFSRoot, string key) { string metadataPath = Path.Combine(dotGVFSRoot, RepoMetadataName); string json; using (FileStream fs = new FileStream(metadataPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete)) using (StreamReader reader = new StreamReader(fs)) { while (!reader.EndOfStream) { json = reader.ReadLine(); json.Substring(0, 2).ShouldEqual("A "); KeyValuePair
kvp = JsonConvert.DeserializeObject >(json.Substring(2)); if (kvp.Key == key) { return kvp.Value; } } } return null; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:24,代码来源:GVFSHelpers.cs
在GetPersistedValue()方法中,StreamReader的代码示例类中的ReadLine的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
StreamReader.ReadLine的代码示例5 - ServiceLogContainsUpgradeMessaging()
using System.IO; private bool ServiceLogContainsUpgradeMessaging() { // This test checks for the upgrade timer start message in the Service log // file. GVFS.Service should schedule the timer as it starts. string expectedTimerMessage = "Checking for product upgrades. (Start)"; string serviceLogFolder = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "GVFS", GVFSServiceProcess.TestServiceName, "Logs"); DirectoryInfo logsDirectory = new DirectoryInfo(serviceLogFolder); FileInfo logFile = logsDirectory.GetFiles() .OrderByDescending(f => f.LastWriteTime) .FirstOrDefault(); if (logFile != null) { using (StreamReader fileStream = new StreamReader(File.Open(logFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))) { string nextLine = null; while ((nextLine = fileStream.ReadLine()) != null) { if (nextLine.Contains(expectedTimerMessage)) { return true; } } } } return false; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:34,代码来源:GVFSUpgradeReminderTests.cs
在ServiceLogContainsUpgradeMessaging()方法中,StreamReader的代码示例类中的ReadLine的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
StreamReader.ReadLine的代码示例6 - RetryableReadAllLines()
using System.IO; ///
/// Reads the stream until it ends returning each line as a string. /// public ListRetryableReadAllLines() { using (StreamReader contentStreamReader = new StreamReader(this.Stream)) { List output = new List (); while (true) { string line; try { if (contentStreamReader.EndOfStream) { break; } line = contentStreamReader.ReadLine(); } catch (Exception ex) { // All exceptions potentially from network should be retried throw new RetryableException("Exception while reading stream. See inner exception for details.", ex); } output.Add(line); } return output; } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:35,代码来源:GitEndPointResponseData.cs
在RetryableReadAllLines()方法中,StreamReader的代码示例类中的ReadLine的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
StreamReader.ReadLine的代码示例7 - ReadRegistry()
using System.IO; public Dictionary
ReadRegistry() { Dictionary allRepos = new Dictionary (GVFSPlatform.Instance.Constants.PathComparer); using (Stream stream = this.fileSystem.OpenFileStream( Path.Combine(this.registryParentFolderPath, RegistryName), FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read, callFlushFileBuffers: false)) { using (StreamReader reader = new StreamReader(stream)) { string versionString = reader.ReadLine(); int version; if (!int.TryParse(versionString, out version) || version > RegistryVersion) { if (versionString != null) { EventMetadata metadata = new EventMetadata(); metadata.Add("Area", EtwArea); metadata.Add("OnDiskVersion", versionString); metadata.Add("ExpectedVersion", versionString); this.tracer.RelatedError(metadata, "ReadRegistry: Unsupported version"); } return allRepos; } while (!reader.EndOfStream) { string entry = reader.ReadLine(); if (entry.Length > 0) { try { RepoRegistration registration = RepoRegistration.FromJson(entry); string errorMessage; string normalizedEnlistmentRootPath = registration.EnlistmentRoot; if (this.fileSystem.TryGetNormalizedPath(registration.EnlistmentRoot, out normalizedEnlistmentRootPath, out errorMessage)) { if (!normalizedEnlistmentRootPath.Equals(registration.EnlistmentRoot, GVFSPlatform.Instance.Constants.PathComparison)) { EventMetadata metadata = new EventMetadata(); metadata.Add("registration.EnlistmentRoot", registration.EnlistmentRoot); metadata.Add(nameof(normalizedEnlistmentRootPath), normalizedEnlistmentRootPath); metadata.Add(TracingConstants.MessageKey.InfoMessage, $"{nameof(this.ReadRegistry)}: Mapping registered enlistment root to final path"); this.tracer.RelatedEvent(EventLevel.Informational, $"{nameof(this.ReadRegistry)}_NormalizedPathMapping", metadata); } } else { EventMetadata metadata = new EventMetadata(); metadata.Add("registration.EnlistmentRoot", registration.EnlistmentRoot); metadata.Add("NormalizedEnlistmentRootPath", normalizedEnlistmentRootPath); metadata.Add("ErrorMessage", errorMessage); this.tracer.RelatedWarning(metadata, $"{nameof(this.ReadRegistry)}: Failed to get normalized path name for registed enlistment root"); } if (normalizedEnlistmentRootPath != null) { allRepos[normalizedEnlistmentRootPath] = registration; } } catch (Exception e) { EventMetadata metadata = new EventMetadata(); metadata.Add("Area", EtwArea); metadata.Add("entry", entry); metadata.Add("Exception", e.ToString()); this.tracer.RelatedError(metadata, "ReadRegistry: Failed to read entry"); } } } } } return allRepos; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:83,代码来源:RepoRegistry.cs
在ReadRegistry()方法中,StreamReader的代码示例类中的ReadLine的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
StreamReader.ReadLine的代码示例8 - WriteExtraSkinningInfo()
using System.IO; //Extra skin data based on https://github.com/Sage-of-Mirrors/SuperBMD/blob/ce1061e9b5f57de112f1d12f6459b938594664a0/SuperBMDLib/source/Model.cs#L193 //Todo this doesn't quite work yet //Need to adjust all mesh name IDs so they are correct private void WriteExtraSkinningInfo(string FileName, Scene outScene, List
Meshes) { StreamWriter test = new StreamWriter(FileName + ".tmp"); StreamReader dae = File.OpenText(FileName); int geomIndex = 0; while (!dae.EndOfStream) { string line = dae.ReadLine(); /* if (line == " ") { AddControllerLibrary(outScene, test); test.WriteLine(line); test.Flush(); } else if (line.Contains(" ", $" sid=\"{ name }\" type=\"JOINT\">"); test.WriteLine(jointLine); test.Flush(); } else if (line.Contains("")) { foreach (Mesh mesh in outScene.Meshes) { test.WriteLine($" "); test.WriteLine($" "); test.Flush(); } test.WriteLine(line); test.Flush(); }*/ if (line.Contains(""); test.WriteLine(" "); test.WriteLine("#skeleton_root "); test.WriteLine(""); test.WriteLine(" "); test.WriteLine(""); test.WriteLine($" "); test.WriteLine(""); test.WriteLine(" "); test.Flush(); geomIndex++; } else { test.WriteLine(line); test.Flush(); } /* else if (line.Contains(" ", " "); test.WriteLine(matLine); test.Flush(); }*/ } test.Close(); dae.Close(); File.Copy(FileName + ".tmp", FileName, true); File.Delete(FileName + ".tmp"); }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:84,代码来源:AssimpSaver.cs
在WriteExtraSkinningInfo()方法中,StreamReader的代码示例类中的ReadLine的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的StreamReader.ReadLine方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。