c# - 尝试在文件名中使用变量时出现“找不到路径的一部分”错误
问题描述
尝试在 C# 中使用 Filestream 创建文件时出现此错误。
当我使用:
{
string loc1 = @"C:\Users\www14\AiLog\Fitness:200.txt";
FileInfo fi = new FileInfo(loc1);
using (FileStream fs = fi.Create())
}
目录中的文件:C:\Users\www14\AiLog\Fitness:200.txt 成功创建,并出现。
但是,我需要这个数字 200 作为变量,而不是手写数字,所以我尝试了以下操作:
string loc1 = @"C:\Users\www14\AiLog\";
string loc3 ="Fitness:"+BestNetworkFitness.ToString()+".txt";
string loc2 = Path.Combine(loc1, loc3);
FileInfo fi = new FileInfo(loc2);
using (FileStream fs = fi.Create())
{ }
然后 DirectoryNotFoundException: 找不到路径“C:\Users\www14\AiLog\Fitness:3.73398.txt”的一部分。
似乎每当我尝试在名称中使用变量时,它都会中断。
编辑:哦,谢谢指出,我的 loc1,loc2 搞砸了。我也删除了':',它现在可以工作了!
解决方案
您正在尝试使用 loc1 而不是 loc2 创建。
此外,在 Windows 上,':' 不是文件名中的有效字符,至少在我尝试时不是。
推荐阅读
- sql - 在 Oracle 中更新联合查询
- c# - 将内容复制到流时出现 HttpRequestException 错误(Cloudinary 上传)
- windows - 从 Windows 中的浏览器打开外部应用程序(来自 mediawiki 页面)
- ios - 如何在 SwiftUI 中更改 ProgressView 口音颜色?
- iis - 托管在本地 IIS 上的 mvc 应用程序被重定向到本地主机
- r - 在返回多个表的函数上应用 rbindlist
- ssl - 挂接服务无法启动 | 搭便车 1.5.2-1 | Ubuntu 20.04.1 LTS
- gradle - 使用外部系统时出现异常:Gradle Refresh 时出现 java.lang.AssertionError
- postgresql - 如何获取 Heroku 的 PostgreSQL SSL 客户端配置文件?
- python - Pyspark 连接两个数据框