您好,感谢您阅读我的问题。我有一个字符串,我需要放在一个txt文件。
我想这样做,以便当用户点击按钮时,它会询问文件夹,用户想要保存此txt文件,并在文件夹中生成它。
这是我制作的一些代码,但我不知道如何制作它以便用户选择文件夹。
private void Generar_Txt_Disco(string s_content, string s_folder)
{
//Ruta es donde se va a guardar
StreamWriter sr = new StreamWriter(s_folder);
//Vas escribiendo el texto
sr.WriteLine(s_content);
//Lo cierras
sr.Close();
}
答案 0 :(得分:4)
使用SaveFileDialog
或FolderBrowserDialog
。 (System.Windows.Forms
成员)
SaveFileDialog 提示用户选择保存文件的位置。这个类不能被继承。
FolderBrowserDialog 提示用户选择文件夹。这个类不能被继承。
private static void Generar_Txt_Disco(string s_content)
{
using (FolderBrowserDialog dialog = new FolderBrowserDialog())
{
if (dialog.ShowDialog()) == DialogResult.OK)
{
//Ruta es donde se va a guardar
StreamWriter sr = new StreamWriter(dialog.SelectedPath + "\\YourFileName.txt");
//Vas escribiendo el texto
sr.WriteLine(s_content);
//Lo cierras
sr.Close();
}
}
}
private static void Generar_Txt_Disco(string s_content)
{
using (SaveFileDialog dialog = new SaveFileDialog())
{
dialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
if (dialog.ShowDialog()) == DialogResult.OK)
{
//Ruta es donde se va a guardar
StreamWriter sr = new StreamWriter(dialog.FileName);
//Vas escribiendo el texto
sr.WriteLine(s_content);
//Lo cierras
sr.Close();
}
}
}
答案 1 :(得分:1)
像
这样的东西using (SaveFileDialog sfd = new SaveFileDialog ())
{
if (sfd.ShowDialog() == DialogResult.OK)
{
//contains the path the user picked
string filepathToSave = sfd.FileName;
using (StreamWriter file = new StreamWriter(filepathToSave ))
{
file.WriteLine("foo");
}
}
}
答案 2 :(得分:0)
public static string GetAnyPath(string fileName)
{
//my path where i want my file to be created is : "C:\\Users\\{my-system-name}\\Desktop\\Me\\create-file\\CreateFile\\CreateFile\\FilesPosition\\firstjson.json"
var basePath = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath.Split(new string[] { "\\CreateFile" }, StringSplitOptions.None)[0];
var filePath = Path.Combine(basePath, $"CreateFile\\CreateFile\\FilesPosition\\{fileName}.json");
return filePath;
}
根据需要用任何类型替换.json 也可以参考https://github.com/swinalkm/create-file/tree/main/CreateFile/CreateFile 以获得完整的代码