标签: streamreader

C#如何按段落分隔?

所以我知道一个段落是 char 10 + char 13 我这样做:

streamreader sr = new streamreader();
string s = sr.ReadToEnd();
string s1 = s.Replace((char)10, "*");
string s2 = s1.Replace((char)13, "*");
Run Code Online (Sandbox Code Playgroud)

现在它将段落更改为两个 ** 但如何按 2 个字符拆分?任何人都有其他分割段落的替代方法?

  1. 轻松拆分段落的方法或
  2. 按两个字符分割的方式

c# streamreader text-files

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

Vb.net从中读取后没有关闭文件

刷新我的应用程序时,我必须从一个存储有信息的文本文件中读取.在阅读完之后,我确保在下次刷新应用程序时关闭它'file.close()',应该再次生成文本文件并覆盖前一个文本文件.

问题是它无法更改文件,因为它被另一个进程暂时使用,但只要我关闭我的应用程序就可以正常工作.无论如何在刷新之前停止该过程以使其正常工作?文本文件名为NetworkInfo.txt.

谢谢克里斯

编辑

每次刷新应用程序时,我都会运行一个批处理文件,生成一个包含所有网络信息的文件.(IPConfig/all)

然后我有一个模块从它读取如下:

Public Function EthDefaultGateway() As String
    Dim sr As New System.IO.StreamReader(ipconfig)
    Try

        Dim foundEthernet As Boolean = False
        Dim gateway As String = ""

        Do Until sr.EndOfStream
            Dim line As String = sr.ReadLine()

            If line.Contains("Ethernet adapter LAN:") OrElse line.Contains("Ethernet adapter Local Area Connection:") Then
                foundEthernet = True
            End If

            If foundEthernet Then
                If line.Contains("Default Gateway . . . . . . . . . :") Then
                    gateway = line.Substring(line.IndexOf(":") + 1).Trim
                    Exit Do
                End If …
Run Code Online (Sandbox Code Playgroud)

vb.net windows streamreader

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

如何使用 StreamWriter 在 c# 中编辑文本文件?

我有一种方法可以从文本文件文件中编辑单词并将其显示在命令提示符上。现在我尝试制作一种方法来编辑文本文件中的单词并将其写入新文件。我还想提一下,我不能使用 File 或 Regex 类,因为我不允许在我的作业中使用它。这是我的 StreamReader 代码:

public void EditorialControl(string fileName, string word, string replacement)
{            
    List<string> list = new List<string>();
    using (StreamReader reader = new StreamReader(directory + fileName))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {                    
            line = line.Replace(word, replacement);
            list.Add(line);
            Console.WriteLine(line);
        }
        reader.Close();
    }      
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我的 StreamWriter 代码:

public void EditorialResponse(string fileName, string word, string replacement, string saveFileName)
{
    using (StreamWriter writer = new StreamWriter(directory + saveFileName, true))
    {
        {
            string input = directory + fileName; …
Run Code Online (Sandbox Code Playgroud)

c# streamwriter streamreader text-files

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

从 XML 文件 C# 中删除回车

我需要从 XML 文件中删除回车,但我得到的只是一个带有一个框的 XML 文件(\ r)。我是这样写的:

    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();
    }
Run Code Online (Sandbox Code Playgroud)

这里可能有什么问题。

编辑:

这是示例:

3C 3F 78 6D 6C 20 76 …
Run Code Online (Sandbox Code Playgroud)

.net c# streamwriter carriage-return streamreader

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

从 sql-query 获取单个值到文本框中

我的 sql-query 的结果是我想在标签中显示但不知道如何显示的单个值。我有一个创建数据集的解决方案,将查询结果放入该数据集并按行(0),列(0)获取它,但我想有一种更聪明的方法。

Private myquery As String

Sub New(ByVal query As String)
    myquery = query
End Sub
Public Sub query_Send()
    Dim myconn As New SqlConnection("Data Source=DB;Integrated Security=TRUE")
    Dim mycmd As SqlCommand = New SqlCommand(Me.myQuery, myconn)
    Dim myTable As New DataTable
    Dim previousConnectionState As ConnectionState = myconn.State
    Try
        If myconn.State = ConnectionState.Closed Then
            myconn.Open()
            Dim myDA As New SqlDataAdapter(mycmd)
            myDA.Fill(myTable)
            tb.text = **...**
        End If
        If previousConnectionState = ConnectionState.Closed Then
            myconn.Close()
        End If
    End Try
End Sub
Run Code Online (Sandbox Code Playgroud)

vb.net dataset streamreader

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

StreamWriter多线程C#

我想请求帮助我的代码.我是一个新手,想要在写入文本文件时实现安全的多线程.

    StreamWriter sw = new StreamWriter(@"C:\DailyLog.txt");
    private void Update(){
        var collection = Database.GetCollection<Entity>("products");
        StreamReader sr = new StreamReader(@"C:\LUSTK.txt");
            string[] line = sr.ReadLine().Split(new char[] { ';' });
            while (!sr.EndOfStream)
            {
                    line = sr.ReadLine().Split(new char[] { ';' });
                    t = delegate { 
                           UpdateEach(Convert.ToInt32(line[5])); 
                        }; 
                     new Thread(t).Start();
            }
            sr.Close();

    }
    private void UpdateEach(int stock)
    {
            sw.WriteLine(ean);

    }
Run Code Online (Sandbox Code Playgroud)

我的代码没有错误,但似乎并没有写入我的文本文件.我没有做,sw.Close()因为我知道有些线程尚未完成.另外,我怎么能实现sw.Close知道没有线程离开不完整.我在5个畅想我的记录LUSTK.text是通过读取StreamReader每个创建的线程和每个线程访问同一个文本文件.

c# multithreading file streamwriter streamreader

3
推荐指数
2
解决办法
8627
查看次数

如何读取文本文件,然后使用分隔线放置数据?

private void open(object sender, EventArgs e)
{         
    OpenFileDialog openDialog = new OpenFileDialog();

    if (openDialog.ShowDialog() == DialogResult.OK)
    {

        string[] lines = File.ReadAllLines(openDialog.FileName);

        foreach (string line in lines)
        {
            var text = line.Split(',', '\n');
            dataGridView1.Rows.Add(text);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

所以在这段代码中我可以读取一个文本文件,但我只能像在1格一样.以下是示例文本文件的外观:

test,1,2,3,4,5,6,
testing,7,8,9,10,11,12,
working,13,14,15,16,17,18,
multiline,19,20,21,22,23,24,
NEXTDATA
see,25,26,36,46,56,66,
program,7,8,9,10,11,12,
macroer,13,14,15,16,17,18,
readextra,19,20,21,22,23,24,
Run Code Online (Sandbox Code Playgroud)

因此,如果我到达名为"NEXTDATA"的行,我希望将数据放入其中dataGridView2.如何检查它是否到达该行,然后它将执行与代码相同的操作dataGridView1

我也使用ReadLine()ReadAllLines()

c# file-io streamreader

3
推荐指数
2
解决办法
138
查看次数

如何在不重新打开文件的情况下读取然后写入/附加到文本文件?

如何打开 FileStream,读取文件内容,然后在不重新打开文件的情况下写入(追加)到文件?

在这种情况下 StreamReader/StreamWriter 的一个问题是它们承担了底层流的所有权。由于目标是 .NET 4,因此不能使用“leaveOpen”构造函数重载。(我不在乎是否使用了 StreamReader/StreamWriter - 但它们确实提供了 ReadLine 和 WriteLine 操作。)

总之,与问题相关的问题代码示例以及应用程序将如何访问和管理 FileStream 的生命周期(即打开一次):

var fs = File.Open(..);
using (var reader = new StreamReader(fs)) {
   // Do all reading here, then ditch the reader
}  // .. but StreamReader will Close the FileStream

SeekToEnd(fs);

using (var writer = new StreamWriter(fs)) {
   // Do all writing here, then ditch the writer
   // .. ideal, but FileStream already Closed
}

// …
Run Code Online (Sandbox Code Playgroud)

.net c# .net-4.0 filestream streamreader

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

无法找到类型或命名空间名称"StreamReader"

我正在使用C#中的StreamReader.我收到了错误

"无法找到类型或命名空间名称"StreamReader""

我不知道我做错了什么.

using System.IO;
using System;
class Perfect
{
static void Main()
    {
    string filename = @"marks.cvs";
    StreamReader sr = new StreamReader(filename);
    string line = sr.ReadLine();
    Console.WriteLine(line);    
    sr.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# streamreader

3
推荐指数
2
解决办法
7076
查看次数

将图像从 Stream/StreamReader 加载到图像或 RawImage 组件

我正在使用 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 (StreamReader reader = new StreamReader(response.ResponseStream))
                {
                    data = reader.ReadToEnd();
                }

                ResultText.text += "\n";
                ResultText.text += data;
            }
            Debug.Log("GetObject: " + data);
        }); …
Run Code Online (Sandbox Code Playgroud)

c# amazon-s3 streamreader unity-game-engine aws-sdk

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