【C# IO操作专题】

时间:2024-05-06 13:29:39

FileStream 是一个在多种编程语言中常见的概念,它代表了一个用于读写文件的流。在不同的编程语言中,FileStream 的实现和使用方式可能会有所不同,但基本概念是相似的:它允许程序以流的形式访问文件,即可以顺序地读取或写入文件内容。

以下是一些常见编程语言中 FileStream 的使用示例:

C#
在 C# 中,可以使用 System.IO.FileStream 类来读写文件:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        // 打开一个文件用于读取
        using (FileStream fs = new FileStream("example.txt", FileMode.Open, FileAccess.Read))
        {
            // 创建一个足够大的缓冲区来读取整个文件
            byte[] buffer = new byte[fs.Length];
            // 从文件流中读取数据
            fs.Read(buffer, 0, buffer.Length);
            // 将字节数组转换为字符串
            string text = System.Text.Encoding.UTF8.GetString(buffer);
            Console.WriteLine(text);
        }

        // 创建或打开一个文件用于写入
        using (FileStream fs = new FileStream("example.txt", FileMode.Create, FileAccess.Write))
        {
            // 要写入的字符串
            string text = "Hello, World!";
            // 将字符串转换为字节数组
            byte[] buffer = System.Text.Encoding.UTF8.GetBytes(text);
            // 将数据写入文件流
            fs.Write(buffer, 0, buffer.Length);
        }
    }
}

Python
在 Python 中,可以使用内置的 open 函数来读写文件,这在概念上与 FileStream 类似:

# 读取文件
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
# 写入文件
with open('example.txt', 'w') as file:
    file.write('Hello, World!')

Java
在 Java 中,可以使用 java.io.FileInputStream 和 java.io.FileOutputStream 类来读写文件:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        // 读取文件
        try (FileInputStream fis = new FileInputStream("example.txt")) {
            int byteRead;
            while ((byteRead = fis.read()) != -1) {
                // 将int转换为char并打印
                System.out.print((char) byteRead);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 写入文件
        try (FileOutputStream fos = new FileOutputStream("example.txt")) {
            String text = "Hello, World!";
            fos.write(text.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

**

想入行游戏开发, 别错过限时免费的游戏开发训练营, 扫描下方二维码,即可报名参加

**
在这里插入图片描述