C#文件未保存在正确的文件夹中

时间:2015-07-23 14:57:16

标签: c# file

我需要将txt文件保存在正确的创建文件夹中。但它节省C:\ Nova Pasta我需要保存“C:\ Nova pasta \”+ valor.retorna_nome + comboBox1.Text什么是错的?

private void btn_SaveFile_Click(object sender, EventArgs e)
{
    objSQL.Search_RGP_CadastroPrint(Convert.ToInt32(comboBox1.Text), str_list);
    objSQL.SearchPrint(Convert.ToInt32(comboBox1.Text));

    string path = @"C:\Nova pasta\"+valor.retorna_nome+comboBox1.Text;

    if (!Directory.Exists(path))
    {
        Directory.CreateDirectory(path);

    }
    StreamWriter file = new System.IO.StreamWriter(path + ".txt");

    file.WriteLine("---------------------------------------------------------------------------------------------------------");
    file.WriteLine("Nome: " + valor.retorna_nome);
    file.WriteLine("RGP: " + comboBox1.Text);
    file.WriteLine("Endereço: " + valor.retorna_endereco);
    file.WriteLine("Telefone: " + valor.retorna_telefone + " Celular: " + valor.retorna_celular + "\r\n");
    str_list.ForEach(file.WriteLine);

    file.Close();
}

2 个答案:

答案 0 :(得分:4)

valor.retorna_nome是"你好",comboBox1.Text是"世界"。您的代码执行以下操作:

string path = @"C:\Nova pasta\"+valor.retorna_nome+comboBox1.Text;
// -> path = "C:\Nova pasta\helloworld"

if (!Directory.Exists(path))
{
    Directory.CreateDirectory(path);
    // -> created directory "C:\Nova pasta\helloworld"
}

StreamWriter file = new System.IO.StreamWriter(path + ".txt");
// -> writes to file "C:\Nova pasta\helloworld.txt"

所以它完全按照你所说的去做。您想要调用该目录的内容是什么?文件名?

答案 1 :(得分:1)

你的字符串路径等于:" C:\ Nova pasta \ aNameXXX"

其中:

aName = valor.retorna_nome

XXX = Combobox1.Text

您创建了一个目录,这必须成功,但之后您的文件路径是:  路径+ .txt:" C:\ Nova pasta \ aNameXXX.txt"

它在您的文件夹旁边创建一个名为(aNameXXX.txt)的文件。

你需要添加" \"和文件的名称,以形成如下路径:" C:\ Nova pasta \ aNameXXX \ FILENAME.txt"

StreamWriter file = new System.IO.StreamWriter(path + "\" + FILENAME + ".txt");