C# 如何用文件名替换路径?
你好,我必须在另一个学生之后完成学校的项目。 在整个程序中,他使用了文件的绝对路径,问题是它只能在一台计算机上工作。因为这条路是独一无二的。 有人能告诉我如何用文件名替换这个路径吗C# 如何用文件名替换路径?,c#,file,datagridview,path,resources,C#,File,Datagridview,Path,Resources,你好,我必须在另一个学生之后完成学校的项目。 在整个程序中,他使用了文件的绝对路径,问题是它只能在一台计算机上工作。因为这条路是独一无二的。 有人能告诉我如何用文件名替换这个路径吗 string content = File.ReadAllText(filePath); this.DocumentXml = XDocument.Parse(content); this.xmlInfo = XDocument.Parse(content);
string content = File.ReadAllText(filePath);
this.DocumentXml = XDocument.Parse(content);
this.xmlInfo = XDocument.Parse(content);
var groups = this.DocumentXml.Root.Elements("group");
foreach (var group in groups)
{
checkedListBox1.Items.Add(group.Attribute("name").Value);
}
// Adding data from your DNSFile to dataGridView1
hostsDataSet.Clear();
hostsDataSet.ReadXml(filePath);
dataGridView1.DataSource = hostsDataSet;
dataGridView1.DataMember = "item";
在本例中,filepath是文本文件,其中包含他使用的文件的绝对路径。
你能帮我吗
这是我用Application.LocalUserAppDataPath创建的文件的完整路径:C:\Users\praktykant1\AppData\Local\WindowsFormsApplication1\WindowsFormsApplication1\1.0.0\test.txt
我的问题是,我必须在AppData/Local文件夹中创建我在程序中使用的文件。因此,在每台计算机上,路径将不同。这个程序必须在每台计算机上运行。我只是个初学者,所以我对这门课不太熟悉。这正是配置文件的用途。。。可能执行相同代码的环境之间的差异 大概问题是文件路径是硬编码的,是吗?像这样的
var filePath = @"c:\some\path\to\a\file.xml";
相反,将其设置为配置值。如果appSettings节点中的App.config或Web.config是Web应用程序,请首先向其添加一个条目:
您还可以执行一些错误检查,以确保其中有一个值确保filePath不会以null或空字符串结束,也就是说,确保文件存在,等等
此时,您可以更改配置文件中的值,而无需重新编译代码。因此,任何新环境都可以设置配置设置并使用应用程序。如果将变量filepath设置为仅为文件名,则默认情况下,它将在启动可执行文件的目录中查找此文件。这称为工作目录,您可以找到如何更改工作目录
如果您想避免使用完整路径或相对路径,而只使用文件名,则希望它位于该工作目录中。要获取路径的文件名,只需执行以下操作。 例如,如果您的路径是C:\hello.txt,它将变成hello.txt
string fileName = Path.GetFileName(filepath);
如果您不希望文件名有任何扩展名
string fileNameNoEx = Path.GetFileNameWithoutExtension(fileName);
这样它就变成了hello(你好)如果是ASP.net,您可以这样做
if(FileUploadControl.HasFile)
{
try
{
string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
StatusLabel.Text = "Upload status: File uploaded!";
}
catch(Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
查看System.IO.Path类。它有几个静态方法可以帮助您…使用配置文件存储路径并从配置中检索路径值,以便您可以轻松更改路径。使用google,您也可以从这里开始,因为filePath是一个具有绝对路径的文本文件,为什么不也向我们显示路径?谢谢您,这很有帮助…你想做的事情并没有那么困难,所以请自便谷歌也不要硬编码文件路径这是.config文件为任何和所有设置而设计的,你希望你的应用程序从开始就读取这些设置,并将它们存储在.config文件中
string fileNameNoEx = Path.GetFileNameWithoutExtension(fileName);
if(FileUploadControl.HasFile)
{
try
{
string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
StatusLabel.Text = "Upload status: File uploaded!";
}
catch(Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}