标签: streamreader

如何阅读c#中的网站内容?

我想阅读没有HTML标签和标题的网站文本.我只需要在Web浏览器中显示的文本.

我不需要这样

<html>
<body>
bla bla </td><td>
bla bla 
<body>
<html>
Run Code Online (Sandbox Code Playgroud)

我只需要文本"bla bla bla bla".

我已经使用webclient和httpwebrequest方法来获取HTML内容并拆分接收的数据,但这是不可能的,因为如果我更改网站,标签可能会更改.

那么有没有办法只能以网页方式获取网站上显示的文字?

html c# webclient httpwebrequest streamreader

7
推荐指数
2
解决办法
1万
查看次数

很长时间在C#.NET中加载第一个连接

我正在制作一个连接到网站并从中下载XML的程序.然后它将信息显示给用户.

我遇到的问题是,当我第一次打开程序并开始下载XML信息时,需要很长时间.当我在程序仍然打开的情况下从网站加载另一个页面时,下载大约需要半秒钟.我想知道是否有办法避免这种情况.

我目前使用HttpWebRequest下载流和StreamReader来读取它.然后我使用XLINQ来解析XML.

.net c# system.net httpwebrequest streamreader

6
推荐指数
1
解决办法
2770
查看次数

StreamReader和二进制数据

我有这个文本文件包含不同的字段.某些字段可能包含二进制数据.我需要获取文件中的所有数据,但是现在使用StreamReader时它不会读取二进制数据块和数据之后的内容.什么是解决这个问题的最佳解决方案?

例:

field1|field2|some binary data here|field3
Run Code Online (Sandbox Code Playgroud)

现在我在文件中读到这样的:

public static string _fileToBuffer(string Filename)
{
    if (!File.Exists(Filename)) throw new ArgumentNullException(Filename, "Template file does not exist");

    StreamReader reader = new StreamReader(Filename, Encoding.Default, true);
    string fileBuffer = reader.ReadToEnd();
    reader.Close();

    return fileBuffer;
}
Run Code Online (Sandbox Code Playgroud)

编辑:我知道二进制字段的开始和结束位置.

.net c# binary-data streamreader

6
推荐指数
2
解决办法
8659
查看次数

C++事件驱动的json流阅读器

我刚刚发现YAJL项目正是我需要的.

  • 从流中读取
  • 回调每个有效的解析标记
  • 新数据到达时重新分析不完整的json

但我更喜欢C++.当然我可以在C++项目中使用这个库,如果我真的想要编写我自己的包装器,但无论如何本机C++更可取.

我查看了JsonCPP,但看起来它无法从流中读取不完整的json数据.

是否还有其他用于解析json流的C++库?

更多要求:

  • 轻巧.提升或Qt不适合
  • 我需要一些我可以在商业闭源软件(mit,public domain等)中自由使用的东西.
  • 支持不阻止读取.或允许提供数据(append_incoming_data).

c++ json streamreader

6
推荐指数
1
解决办法
2375
查看次数

检查文件中是否存在字符串

我有以下代码,它打开一个文本文件并读取文件中的所有行并将其存储到字符串数组中.

然后检查字符串是否存在于数组中.然而,我面临的问题是,每当找到一个字符串时,它总是显示"有匹配"以及"没有匹配".知道如何解决这个问题吗?

检查此代码:

using (StreamReader sr = File.OpenText(path))
{
    string[] lines = File.ReadAllLines(path);
    for (int x = 0; x < lines.Length - 1; x++)
    {
        if (domain == lines[x])
        {
            sr.Close();
            MessageBox.Show("there is a match");
        }
    }
    if (sr != null)
    {
        sr.Close();
        MessageBox.Show("there is no match");
    }
}
Run Code Online (Sandbox Code Playgroud)

c# string streamreader

6
推荐指数
2
解决办法
2万
查看次数

StreamWriter无法在C#中工作

这段代码在VS 2010中完美运行.现在我已经拥有了VS 2013,它不再写入该文件.它没有错误或任何东西.(我在Notepad ++中收到警告,说明文件已更新,但没有写入.)

这对我来说都很好看.有任何想法吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            String line;
            try
            {
                //Pass the file path and file name to the StreamReader constructor
                StreamReader sr = new StreamReader("C:\\Temp1\\test1.txt");
                StreamWriter sw = new StreamWriter("C:\\Temp2\\test2.txt");

                //Read the first line of text
                line = sr.ReadLine();

                //Continue to read until you reach end of file
                while (line != null)
                {
                    //write the line to console window …
Run Code Online (Sandbox Code Playgroud)

c# streamwriter streamreader

6
推荐指数
2
解决办法
777
查看次数

如何知道文本文件是否以回车结束?

我必须处理一个文本文件并检查它是否以回车符结束.

我必须阅读整个内容,进行一些更改并将其重新写入目标文件,保持与原始格式完全相同的格式.这就是问题所在:我不知道原始文件是否包含换行符.

我已经尝试过了:

  • StreamReader.ReadLine()方法,但返回的字符串不包含终止回车符和/或换行符.
  • ReadToEnd()方法也可以是一个解决方案,但我想知道非常大的文件的性能.解决方案必须高效.
  • 获取最后2个字符并检查它们是否等于"\ r \n"可以解决它,但我必须处理大量的编码,而且似乎几乎不可能得到它们.

如何有效地读取文件的所有文本并确定它是否以换行符结束?

c# encoding newline streamreader text-files

6
推荐指数
1
解决办法
3789
查看次数

如何使用 .net 读取包含 2900 万行数据的巨大 CSV 文件

我有一个巨大的.csv文件,具体来说是一个.TAB有 2900 万行的文件,文件大小约为 600 MB。我需要把它读到一个IEnumerable集合中。

我已经尝试过CsvHelper,GenericParser和其他一些解决方案,但总是以内存不足异常告终

请建议一种方法来做到这一点

我试过了

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(@"C:\testfile\Prod\PCDP1705.TAB");

     parser.ColumnDelimiter = '\t';
     parser.FirstRowHasHeader = false;
     //parser.SkipStartingDataRows = 10;
     //parser.MaxBufferSize = 4096;
     //parser.MaxRows = 500;
     parser.TextQualifier = '\"';

     while (parser.Read())
     {
         var address = new Point(); …
Run Code Online (Sandbox Code Playgroud)

.net c# csv streamreader

6
推荐指数
3
解决办法
1万
查看次数

使用计时器逐行读取文本文件

StreamReader sr = new StreamReader("C:/CR EZ Test/Log.txt");    //use with IF
private void timer2_Tick(object sender, EventArgs e)
{
    if ((line = sr.ReadLine()) != null)
    {   
        //FileStream fs = File.Open("C:/CR EZ Test/Log.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
        //StreamReader sr = new StreamReader(fs); //use with While can't use with }else{
        //while ((line = sr.ReadLine()) != null) 
        //{
        string[] dataLog = line.Split(new[] { ',' }, StringSplitOptions.None);
        mpa = (dataLog[1]);
        ml  = (dataLog[2]);
        lph = (dataLog[3]);
        elapsedTime = float.Parse(dataLog[4]) / 1000;

        if (testStatus > 0) time = …
Run Code Online (Sandbox Code Playgroud)

c# streamreader datalog

6
推荐指数
1
解决办法
388
查看次数

C# 从 JsonReader 读取 JObject 时出错。路径 '',第 0 行,位置 0

我正在尝试使用下面的代码解析我的 json。我收到错误:

从 JsonReader 读取 JObject 时出错。路径 '',第 0 行,位置 0。

我想这可能是因为我的 JSON 格式错误,所以我输出了它,看起来没问题:

{ 
    "serviceDeskId": "4", 
    "requestTypeId": "223", 
    "requestFieldValues": { 
        "summary": "test" 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

但现在我完全陷入困境了。谁能看到我哪里出错了?这真让我抓狂!!

正是在这一行触发了错误:

var jsonresponse = JObject.Parse(response);
Run Code Online (Sandbox Code Playgroud)

完整代码片段:

req.ContentType = "application/json";

                var json = JObject.Parse(
                        "{\"serviceDeskId\": \"4\",\"requestTypeId\": \"223\",\"requestFieldValues\": {\"summary\": \"" +
                        summary.Value + "\"}}");

                jsonCheck = json.ToString();

                using (var streamWriter = new StreamWriter(req.GetRequestStream()))
                    {

                        streamWriter.Write(json);
                    }

                    HttpWebResponse resp = req.GetResponse() as HttpWebResponse;


                    // Obtain a 'Stream' object associated with the response object.
                    Stream ReceiveStream = resp.GetResponseStream(); …
Run Code Online (Sandbox Code Playgroud)

c# json stream streamreader jsonreader

6
推荐指数
1
解决办法
3万
查看次数