天道酬勤,学无止境

streamreader

Converting a StreamReader(String) to be compatible with UWP API?

问题 我在使用 StreamReader 类时遇到了麻烦。 在 StreamReader 类文档页面上,它在版本信息标题“通用 Windows 平台 - 自 8 起可用”下声明它支持通用 Windows 平台 (UWP)。 进一步检查其构造函数后,StreamReader(Stream) 构造函数确实支持 UWP 应用,但 StreamReader(String) 构造函数不支持它们。 我目前正在使用带有要读取的完整文件路径的 StreamReader(String) 构造函数, using (StreamReader sr = new StreamReader(path)) { ... } 我正在寻求学习如何将我的 StreamReader(String) 代码转换为 StreamReader(Stream)。 回答1 在 UWP StreamReader中,仅接受带有附加选项的Stream 。 不是字符串。 因此,要从特定路径使用StreamReader ,您需要获取StorageFile StorageFile file = await StorageFile.GetFileFromPathAsync(<Your path>); var randomAccessStream = await file.OpenReadAsync(); Stream stream =

2022-05-17 04:24:09    分类:技术分享    c#   class   uwp   streamreader

How to read huge CSV file with 29 million rows of data using .net

问题 我有一个巨大的.csv文件,具体来说是一个有 2900 万行的.TAB文件,文件大小约为 600 MB。 我需要将其读入IEnumerable集合。 我尝试过CsvHelper 、 GenericParser和其他一些解决方案,但总是以 Out of Memory 异常结束 请提出一种方法来做到这一点 我试过了 var deliveryPoints = new List<Point>(); using (TextReader csvreader1 = File.OpenText(@"C:\testfile\Prod\PCDP1705.TAB")) //StreamReader csvreader1 = new StreamReader(@"C:\testfile\Prod\PCDP1705.TAB")) using (var csvR1 = new CsvReader(csvreader1, csvconfig)) { csvR1.Configuration.RegisterClassMap<DeliveryMap>(); deliveryPoints = csvR1.GetRecords<Point>().ToList(); } using (GenericParser parser = new GenericParser()) { parser.SetDataSource

2022-05-17 03:01:44    分类:技术分享    c#   .net   csv   streamreader

Load Image from Stream/StreamReader to Image OR RawImage component

问题 我正在使用 AWS Unity (v3.3.50.0):从 https://aws.amazon.com/mobile/sdk/ 下载的 S3 SDK (AWSSDK.S3.3.3.5.4.unitypackage)。 我的 Unity 版本是 5.5.1。 我想下载一个放在 S3 存储桶上的图像,存储桶已配置并且可以下载。 我将字符串视为响应数据。 但我无法在 S3 示例 GetObject() 函数中将返回的 StreamReader 转换为 UnityEngine.UI.Image.sprite 或 UnityEngine.UI.RawImage.texture 。 private void GetObject() { ResultText.text = string.Format("fetching {0} from bucket {1}", SampleFileName, S3BucketName); Client.GetObjectAsync(S3BucketName, SampleFileName, (responseObj) => { string data = null; var response = responseObj.Response; if (response.ResponseStream != null) { using

2022-05-16 03:24:13    分类:技术分享    c#   unity3d   amazon-s3   aws-sdk   streamreader

Find strings in one file in another and output certain columns

问题 我有一个包含 CampaignNames 和 ID 的文件。 这两个字段由管道分隔| . ID 由空格分隔。 我想在包含 ID 的文件(thorpe þ分隔)中查找所有行,并将这些行输出到每个名称的单独文件中。 该文件通常为 4-7 GB,有时更大。 campaigns.txt : Name|NameID FirstName|123 212 445 39 SecondName|313 939 ThirdName|219 数据标识文件: DateþIDþCode 10-22-14þ123þAbc 10-24-16þ212þPow 09-18-15þ219 所以我想要创建 3 个文件。 FirstName.txt包含 2 行。 SecondName.txt包含 0 行。 ThirdName.txt包含 1 行。 我从各种来源拼凑了一些代码并想出了这个。 但是,我想知道是否有比多次读取数据文件更好的方法。 有什么想法吗? $campaigns = Import-Csv "campaigns.txt" -Delimiter "|" $datafile = "5282_10-19-2016" $encoding = [Text.Encoding]::GetEncoding('iso-8859-1') echo "Starting.." Get-Date -Format g

2022-05-15 10:14:03    分类:技术分享    loops   powershell   streamreader   streamwriter   import-csv

Read JSON from file C# UWP

问题 每次我尝试从文件中读取 JSON 时都会出现错误。 如果我尝试这样做: JObject o1 = JObject.Parse(File.ReadAllText(@"c:\DB.json")); 或者它: using (StreamReader file = File.OpenText(@"c:\db.json")) using(JsonTextReader reader = new JsonTextReader(file)) { JObject o2 = (JObject)JToken.ReadFrom(reader); } 我得到那些错误 {"找不到文件'c:\DB.json'。":"c:\DB.json"} 如果我将 DB.json 复制到 F: 目录错误是: {“找不到路径'f:\DB.json'的一部分。”} 我的问题是什么? 回答1 虽然我们可以在 UWP 应用程序中使用 File.ReadAllText 方法或 File.OpenText 方法,但是 UWP 中对path参数有一些限制。 并非所有路径都可以在这里使用。 默认情况下,应用程序可以访问某些文件系统位置。 应用程序还可以通过文件选择器或通过声明功能来访问其他位置。 有关详细信息,请参阅文件访问权限。 对于“c:\DB.json”或“f:\DB.json”等文件路径,默认情况下无法在 UWP 中访问它们。

2022-05-14 04:50:04    分类:技术分享    c#   json   uwp   windows-10-universal   streamreader

Best way to read data and store from file?

问题 我有一个以这种方式存储数据的文本文件: Player name: NAME HERE Speed: 7 Strength: 9 Stamina: 4 Player name: ANOTHER NAME HERE Speed: 5 Strength: 8 Stamina: 3 同一个文件包含大约 15 个不同的玩家,我想从他们每个人那里收集值,存储在一个临时的比赛变量中,然后计算速度强度和耐力的平均值并给出一个获胜者。 我的第一个想法是使用正则表达式,但我目前正在研究是否有另一种更可持续的方法来做到这一点。 这是我的一个附带项目,欢迎任何帮助。 谢谢 回答1 定义你的种族类结构: public class Race { public string Name; public int Speed; public int Strength; public int Stamina; } 从文本文件中读取数据,实例化Race对象并将它们收集到List<Race>中。 收集后,您可以从List中调用Average()以获取结果。 string[] myTextFileLines = File.ReadAllLines(myTextFile); List<Race> myRaces = new List<Race>(); for (int i = 0; i < myTextFileLines

2022-05-11 01:24:08    分类:技术分享    c#   filereader   streamreader

How to close file that has been read

问题 SearchID = textBox1.Text; string ID = SearchID.ToString(); bool idFound = false; int count = 0; foreach (var line in File.ReadLines("transactions.txt")) { //listView1.Items.Add(line); if (line.Contains(ID)) { idFound = true; } //Displays Transactions if the variable SearchID is found. if (idFound && count < 8) { textBox2.Text += line + "\r\n"; count++; } } } private void SaveEditedTransaction() { SearchID = textBox1.Text; string ID = SearchID.ToString(); bool idFound = false; int count = 0; foreach (var lines in File.ReadLines("transactions.txt")) { //listView1.Items.Add(line); if (lines

2022-05-07 14:17:18    分类:技术分享    c#   streamreader   streamwriter

Remove carriage return from XML file C#

问题 我需要从 XML 文件中删除回车,但我得到的只是一个带有一个框(\r)的 XML 文件。 我写了这个: string sourceFileName = textBox1.Text; StreamReader sr = new StreamReader(sourceFileName); String line; String newLine = null; // Read and display lines from the file until the end of // the file is reached. while ((line = sr.ReadLine()) != null) { //Regex regex = new Regex(@"(\r\n|\r|\n)+"); newLine = line.Replace("\r\n", String.Empty); //also tried line.Replace("\n", String.Empty).Replace("\r",String.Empty); , but no use StreamWriter sw = new StreamWriter(@"C:\Users\manish\Desktop\output.xml"); sw.WriteLine(newLine); sw.Close(); }

2022-05-06 06:36:13    分类:技术分享    c#   .net   streamreader   streamwriter   carriage-return

Streamreader doesn't read data in text file C#

问题 我有两个类“allmethods.cs”和“caller.cs” 我在“allmethods.cs”类中有两个方法,分别是“WritingMethod”和“ReadingMethod” 程序应该从文本文件中写入和读取。 当我调用“WritingMethod”时它写得很顺利,但是当我调用“ReadingMethod”时它显示为空,就好像文本文件中没有数据一样。 我无法识别代码中的问题,如果有人帮助我识别问题,我会很高兴。 这是我的代码: public class allmethods { private static string Name; private static int ID; private static int Age; private static string Email; private static string output; public static void WritingMethod() { int count = 0; while (count < 2) { Console.Write(" Enter your Name: "); Name = Console.ReadLine(); Console.Write(" Enter your ID: "); ID = int.Parse(Console.ReadLine()); Console

2022-05-05 13:53:08    分类:技术分享    c#   class   streamreader   readline

error: The stream does not support concurrent IO read or write operations

问题 我正在尝试从我的 C# Web 应用程序登录到网站以直接从应用程序发送电子邮件,而不是让用户亲自访问该网站。 注意:该网站,即使在同一会话期间,每次加载页面时,我都会尝试登录更改textboxes的id 。 因此,我决定阅读页面源代码,提取文本框的id ,然后在发布消息时使用该id 。 public partial class sender : System.Web.UI.Page { string userID, userPwd, recepsID, msgText, loginResponseString, sessionCode, queryCode; private HttpWebRequest initRequest, loginRequest, msgRequest; private HttpWebResponse initResponse, loginResponse; private Object lockObj = new Object(); protected void Page_Load(object sender, EventArgs e) { userID = Request.QueryString["userNumber"]; userPwd = Request.QueryString["userPwd"]; recepsID = Request

2022-05-04 17:03:10    分类:技术分享    c#   concurrency   stream   streamreader