📂 文件操作简介

在 ASP.NET Web Pages 中,使用 C# 提供的 System.IO 命名空间可以执行各种文件操作,例如:

  • 读取文件内容
  • 写入文本到文件
  • 创建新文件
  • 删除文件
  • 检查文件是否存在

📥 读取文件内容

@{
    var path = Server.MapPath("~/App_Data/sample.txt");
    string content = "";

    if (File.Exists(path)) {
        content = File.ReadAllText(path);
    }
}

<p>文件内容:</p>
<pre>@content</pre>

✅ 说明:

  • Server.MapPath:将相对路径映射为服务器绝对路径
  • File.ReadAllText:读取整个文本文件为字符串
  • File.Exists:检查文件是否存在,避免出错

📤 写入文本到文件

@{
    var path = Server.MapPath("~/App_Data/sample.txt");
    var textToWrite = "这是写入的内容。";

    File.WriteAllText(path, textToWrite);
}
<p>文件已写入。</p>

➕ 向文件追加内容

@{
    var path = Server.MapPath("~/App_Data/sample.txt");
    File.AppendAllText(path, "追加内容一行。\n");
}

🗑 删除文件

@{
    var path = Server.MapPath("~/App_Data/sample.txt");

    if (File.Exists(path)) {
        File.Delete(path);
    }
}
<p>文件已删除(如果存在)。</p>

📄 获取文件信息

@{
    var path = Server.MapPath("~/App_Data/sample.txt");
    string info = "";

    if (File.Exists(path)) {
        var fi = new FileInfo(path);
        info = $"文件大小: {fi.Length} 字节,最后修改时间: {fi.LastWriteTime}";
    }
}
<p>@info</p>

📁 常用路径说明

文件夹描述
~/App_Data推荐用于存储数据文件
~/Uploads可用于用户上传文件(需创建该目录)
Server.MapPath()将相对路径转换为物理路径

⚠️ 文件操作注意事项

  • 不要直接让用户控制文件名或路径,防止路径遍历攻击
  • 文件夹应授予适当的写权限(例如 App_Data)
  • 可使用 try-catch 捕获错误处理异常情况
@try {
    File.WriteAllText(path, "测试内容");
} catch (Exception ex) {
    <p>错误:@ex.Message</p>
}


🌐 出站链接推荐

📚 参考资料

  1. Microsoft Docs – File Class (System.IO)
  2. 《ASP.NET Web Pages with Razor Syntax》— 文件操作章节
  3. W3Schools – C# Files and I/O 操作章节