好的,好的。我会尽力解释这个问题。
显然,我一直在研究一个程序。基本上,用户选择一个文件命中"替换"按钮,它将替换AppData文件夹中的文件。
好吧,我得到了如何为我的程序创建一个AppData文件夹。 基本上,我想要做的是先取出所选文件(通过打开文件对话框)并复制到我为其创建的AppData。然后我需要重命名文件并将文件复制到另一个文件夹。
我一直在寻找,似乎无法找到我需要的东西......这很糟糕。
编辑: 我的第二个问题。假设用户选择" myfile.txt" AppData中的文件夹位于" ... / Roaming / thefiles / file.txt"
我需要重命名并替换" file.txt",但我无法弄清楚如何移动到该目录,因为每个人的用户名都不同。
答案 0 :(得分:0)
首先,您不需要在AppData中创建一个文件夹,它随时可用。
File.Copy(sourcepath,destinationpath); can be used for this purpose
http://msdn.microsoft.com/en-us/library/cc148994.aspx检查一下。
使用Application.UserAppDataPath
或Application.CommonAppDataPath
访问您计划的应用数据文件夹。
你可以调用File.Copy(sourcepath,Path.Combine(Application.UserAppDataPath,“yourfile.ext”));
我知道你的意思是登录系统的用户
using (OpenFileDialog fd = new OpenFileDialog())
{
if (fd.ShowDialog() == DialogResult.OK)
{
string fullFileName = fd.FileName;
string fileNameWithExt = Path.GetFileName(fullFileName);
string destPath = Path.Combine(Application.UserAppDataPath, fileNameWithExt);
File.Copy(fd.FileName, destPath);
}
}
上面的代码会将所选文件复制到属于登录用户的程序的AppData路径,例如:如果您以user1身份登录到Windows,则会在user1的AppData下复制
如果没有弄错,那么Application.UserAppDataPath将始终提供当前登录的Windows用户的路径,因此无需担心丢失其他用户的数据,您可以安全地移动该目录中的文件