Home > Backend Development > C#.Net Tutorial > How to use file IO and stream operations for data reading and writing in C# and solutions

How to use file IO and stream operations for data reading and writing in C# and solutions

PHPz
Release: 2023-10-08 08:45:25
Original
777 people have browsed it

How to use file IO and stream operations for data reading and writing in C# and solutions

How to use file IO and stream operations to read and write data and solutions in C

#During the development process, we often need to read and write files. C# provides a wealth of file IO and stream operations, making data reading and writing more flexible and efficient. This article will explore how to use file IO and stream operations to read and write data in C#, and provide specific code examples.

There are many ways to read data, common ones include reading text files, binary files, and network streams. Below we will introduce the specific implementation methods of these reading methods respectively.

  1. Reading text files

Reading text files is one of the most common ways to read data. The StreamReader class is used in C# to read text files. The code example is as follows:

string path = "文件路径";
using (StreamReader sr = new StreamReader(path))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        // 处理每一行的数据
        Console.WriteLine(line);
    }
}
Copy after login

In the above code, instantiate the StreamReader class and pass in the file path, and then use the ReadLine() method to read the file line by line. data in. Each row of data can be processed as needed.

  1. Reading binary files

Reading binary files requires the use of the BinaryReader class. The code example is as follows:

string path = "二进制文件路径";
using (FileStream fs = new FileStream(path, FileMode.Open))
{
    using (BinaryReader br = new BinaryReader(fs))
    {
        byte[] buffer = new byte[1024];
        int bytesRead = 0;

        while ((bytesRead = br.Read(buffer, 0, buffer.Length)) > 0)
        {
            // 处理读取的数据
            // ...
        }
    }
}
Copy after login

In the above code, first create a FileStream Object, use the FileMode.Open parameter to open the file in read-only mode. Then create a BinaryReader object and pass in the FileStream object as a parameter. Read binary data through the Read() method and process it according to requirements.

  1. Reading the network stream

When transmitting network data, we often need to read the network stream. The TcpClient and NetworkStream classes are used in C# to read network streams. The code example is as follows:

string serverIP = "服务器IP";
int serverPort = 8080;

using (TcpClient client = new TcpClient(serverIP, serverPort))
{
    using (NetworkStream ns = client.GetStream())
    {
        byte[] buffer = new byte[1024];
        int bytesRead = 0;

        while ((bytesRead = ns.Read(buffer, 0, buffer.Length)) > 0)
        {
            // 处理读取的网络流数据
            // ...
        }
    }
}
Copy after login

In the above code example, first create the TcpClient object and pass in the IP address and port number of the server. Then call the GetStream() method through the TcpClient object to obtain the NetworkStream object, and use the Read() method to read the network stream data.

The method of writing files is similar to that of reading. Specific code examples are given below.

  1. Write a text file

Write a text file using the StreamWriter class. The code example is as follows:

string path = "文件路径";
using (StreamWriter sw = new StreamWriter(path))
{
    string text = "要写入的文本";
    sw.WriteLine(text);
}
Copy after login

In the above code example, through the StreamWriter class Instantiate and pass in the file path, then use the WriteLine() method to write the text content to the file.

  1. Writing binary files

Writing binary files requires the use of the BinaryWriter class. The code example is as follows:

string path = "二进制文件路径";
using (FileStream fs = new FileStream(path, FileMode.Create))
{
    using (BinaryWriter bw = new BinaryWriter(fs))
    {
        byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04 };
        bw.Write(data);
    }
}
Copy after login

In the above code example, a BinaryWriter object is created , and pass in the FileStream object as a parameter. Write binary data to the file through the Write() method.

  1. Writing network stream

Writing network stream is similar to reading, using TcpClient and NetworkStream classes, the code example is as follows:

string serverIP = "服务器IP";
int serverPort = 8080;

using (TcpClient client = new TcpClient(serverIP, serverPort))
{
    using (NetworkStream ns = client.GetStream())
    {
        byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04 };
        ns.Write(data, 0, data.Length);
    }
}
Copy after login

The above code In the example, first create a TcpClient object and pass in the server's IP address and port number. Then call the GetStream() method through the TcpClient object to obtain the NetworkStream object, and use the Write() method to write the data to the network stream.

Summary:

This article introduces how to use C# for file IO and stream operations to read and write data. Reading of text files, binary files and network streams can be easily achieved through classes such as StreamReader, BinaryReader and NetworkStream; while classes such as StreamWriter, BinaryWriter and NetworkStream can be used to write text files, binary files and network streams. By using these classes, we can read and write data flexibly and efficiently.

The above is the detailed content of How to use file IO and stream operations for data reading and writing in C# and solutions. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template