我在我的应用程序中使用FileUploader控件.我想将文件保存在指定的文件夹中.现在我想,如果此文件夹不存在,首先创建它,然后将我的文件保存到此文件夹.如果该文件夹已存在,则只需将文件保存在其中.
我怎么能这样做?
自问这个问题以来,较新版本的.Net和.Net核心已经删除和/或更改了"代码访问安全性"(CAS).
我正在学习70-536 .NET Framework - 应用程序开发基础考试,因为我已编程.net多年,这应该不难!
但是我不得不学习"代码访问安全性"(CAS),因为我从来没有需要使用或配置它,我想知道是否有其他人找到了它的真实生活用途?
请提供您何时使用CAS的示例,它已成为解决方案的一部分,而不是问题.
(到目前为止,其他一切都与我在.NET编程中必须完成的任务有一些关系)
相关问题:
结果到目前为止.
当您托管第三方代码时,CAS非常有用.例如,网络托管公司可以使用它来阻止客户的Asp.net代码对服务器造成损害.(当.NET用作VBA的替代品时,Office也会使用它)
到目前为止,它在Microsoft应用程序之外使用的唯一详细示例是:
我最近的一个项目有类似的东西:允许用户上传一个库,并测试它的性能("谁制作最好的算法").不用说,我们在那里需要CAS.
CAS似乎对获得JITDC认证很有用,就像美国国防部一样,但是我不知道CAS是否具有任何实际价值,或者它是否只是盒子滴答作响.
(如果您需要绕过使用CAS的主机并且您拥有对它们的管理员权限,则可以将程序集放在GAC中.)
展望未来,CAS在.net 4中有点复杂.
至少看起来新的Microsoft考试不会有包含CAS的"基础"考试.我不知道它是否会进入新的Winforms/WPF考试.
我正在开发一个应用程序,它遍历某些目录中的每个文件,并对这些文件执行一些操作.其中,我必须检索文件大小和修改此文件的日期.
有些文件全名(目录+文件名)太长,我无法使用.NET Framework FileInfo,限制为MAX_PATH(260个字符).许多Web资源建议通过P/Invoke使用本机Win32函数来访问名称太长的文件.
目前,Win32函数似乎出现了完全相同的问题.例如,对于GetFileAttributesEx270字节的路径,(kernel32.dll)失败,Win32错误3 ERROR_PATH_NOT_FOUND.
可以从Notepad2成功打开同一个文件并使用Windows资源管理器成功显示(但Visual Studio 2010例如由于259个字符限制¹而无法打开它).
当文件路径长度为270个字符时,如何才能访问文件?
笔记:
删除或忽略文件路径长度超过259个字符的文件不是解决方案.
我正在寻找仅与Unicode兼容的解决方案.
该应用程序将在安装了.NET Framework 4的Windows 2008/Vista或更高版本下运行.
¹令人惊讶的是,Microsoft Word 2007失败了,在没有任何软盘驱动器的计算机上抱怨"软盘太小",或者在剩下4 GB RAM时"RAM内存很低",或者最后那个"防病毒软件[...]需要更新".他们有一天会停止显示至少在像Microsoft Office这样的关键产品中出现如此愚蠢无意义的错误吗?
在MsTest中,如果我需要来自另一个项目的某个文件进行测试,我可以指定DeploymentItem属性.NUnit中有类似的东西吗?
我连接了许多变量,我想将该字符串保存为文件路径.
是否有一种方法可以自动创建所有适当的目录,如果它们不存在而不必检查每个目录上的"if exists"
例如.
"C:\" + a + "\" + b+ "\" + d + "\" + d + ".txt"
Run Code Online (Sandbox Code Playgroud) 我正在学习如何在C#中创建文本文件,但我遇到了问题.我用过这段代码:
private void btnCreate_Click(object sender, EventArgs e)
{
string path = @"C:\CSharpTestFolder\Test.txt";
if (!File.Exists(path))
{
File.Create(path);
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("The first line!");
}
}
else if (File.Exists(path))
MessageBox.Show("File with this path already exists.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Run Code Online (Sandbox Code Playgroud)
当我按下"创建"按钮时,Visual Studio会显示错误"System.IO.DirectoryNotFoundException",它指向"File.Create(path)".
问题出在哪儿?
即使某些子目录不存在,如何创建文件?我知道这个问题及其答案表明我Directory.CreateDirectory(path)用来创建我的文件及其目录.
但是当我尝试使用Directory.CreateDirectory(path)它创建文件时,会将文件创建为目录/文件夹而不是文件?

Directory.CreateDirectory (@"C:\Users\me\AppData\LocalLow\company\product\database.db");
Run Code Online (Sandbox Code Playgroud)
为什么是database.db文件夹而不是文件?难道我做错了什么?即使某些子目录不存在,如何创建文件?