我需要获取特定目录中文件的路径。用户从OpenFileDialog中选择一个csv文件。如果csv文件的字段以.txt结尾,则获取该文件的路径并将其放入pathfile变量中。用户必须将新文件放在与csv文件相同的目录中。
编辑: 如何将文件的路径放在变量中?
EDIT2:该文件可以放在任何地方,例如:C://george.csv
。所以我想从目录c://
获取一个txt。如果文件位于C://Documents/anna.csv
,则需要。文字必须为C://Documents/textfile.txt
。
EDIT3:用户已打开的csv文件位于c://Documents/gonow.csv
文件gonow.csv是:one, two, tree, four, textfile.txt, five, six, seven
。
当一个字段有扩展名.txt时,程序必须走这条路径。在这种情况下,路径为c://Documents/textfile.txt
。
private void button3_Click(object sender, EventArgs e)
{
string filename = "";
DialogResult result = openFileDialog2.ShowDialog();
if (result == DialogResult.OK)
{
filename = openFileDialog2.FileName;
textBox3.Text = filename;
System.IO.StreamReader file2 = new System.IO.StreamReader(textBox3.Text);
}
}
private void button2_Click(object sender, EventArgs e)
{
if (Path.GetExtension(colB[j]) == ".csv")
textBox2.Text += " comma separated, in line " + j + "" + Environment.NewLine;
}
答案 0 :(得分:3)
尝试
string path = Path.GetDirectoryName(filename);
根据您的EDIT3编辑:
使用此功能打开csv文件并获取新的完整文件名。
private string GetFilename(string csvFilename)
{
string path = Path.GetDirectoryName(csvFilename);
string[] lines = File.ReadAllLines(csvFilename);
foreach (string line in lines)
{
string[] items = line.Split(',');
string txt = items.First(item => item.ToLower().Trim().EndsWith(".txt"));
if (!String.IsNullOrEmpty(txt))
return Path.Combine(path, txt);
}
return "";
}
答案 1 :(得分:0)
如果您需要将txt文件(生成的文件)放在与CSV文件相同的文件夹中,您可以存储CSV文件的路径并在该文件夹中创建txt文件。
要做到这一点,你可能希望得到一个这样的变量:
private void button3_Click(object sender, EventArgs e)
{
string filename = "";
string FolderPath;
DialogResult result = openFileDialog2.ShowDialog();
if (result == DialogResult.OK)
{
filename = openFileDialog2.FileName;
FolderPath = Path.GetDirectoryName(filename);
textBox3.Text = filename;
System.IO.StreamReader file2 = new System.IO.StreamReader(textBox3.Text);
}
}
private void button2_Click(object sender, EventArgs e)
{
if (Path.GetExtension(colB[j]) == ".csv")
textBox2.Text += " comma separated, in line " + j + "" + Environment.NewLine;
}
FolderPAth变量保存文件夹的路径。您可以在此文件夹中创建txt文件。这意味着txt文件与csv文件位于同一文件夹中。如果您需要使用其他方法访问它,可以在相关范围内声明它。