📂 文件操作简介
在 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>
}
🌐 出站链接推荐
📚 参考资料
- Microsoft Docs – File Class (System.IO)
- 《ASP.NET Web Pages with Razor Syntax》— 文件操作章节
- W3Schools – C# Files and I/O 操作章节
发表回复