Создайте файл в userfiles папке (C#, Windows Forms)

Это - долгое время, так как я сделал любую работу ASN.1, но размер, очень вероятно, будет зависеть от деталей Ваших типов и фактических данных.

я был бы сильно , рекомендуют, чтобы Вы моделировали обоих и вставили некоторые реальные данные для сравнения.

, Если Ваш буфер протокола содержал бы повторенные типы примитивов, необходимо посмотреть на последний источник в Подрывной деятельности для Буферов Протокола - они могут быть представлены в "упакованном" формате теперь, который намного более эффективен пространством. (Порт My C# имеет всего , догнал эту функцию, некоторое время на прошлой неделе.)

9
задан Peter Mortensen 28 June 2012 в 12:58
поделиться

6 ответов

Вы можете использовать Environment.GetFolderPath , чтобы получить путь к папке данных пользователя:

string fileName = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
    "userinfo.txt");

Посмотрите документацию к Environment.SpecialFolder enum, чтобы найти папку, которая лучше всего соответствует вашим потребностям.

18
ответ дан 4 December 2019 в 07:23
поделиться

Вы можете использовать функцию Environment.GetFolderPath () вместе с перечислением Environment.SpecialFolder .

Используйте:

String filePath = Path.Combine(
    Evironment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
    "userinfo.txt");

для создания имя файла в папке Мои документы текущего пользователя.

7
ответ дан 4 December 2019 в 07:23
поделиться

Вы можете использовать Environment.SpecialFolder для создания пути к файлу, который указывает на мои документы:

string filePath = System.IO.Path.Combine(Environment.SpecialFolder.ApplicationData.ToString(), "userinfo.txt");
2
ответ дан 4 December 2019 в 07:23
поделиться

Просто добавьте путь к имени файла, например FileInfo fileusername = new FileInfo (@ "c: \ Users \ MyUser \ Documents \ userinfo.txt");

1
ответ дан 4 December 2019 в 07:23
поделиться

String path = Environment.GetFolderPath (Environment.SpecialFolder.Personal);

OR

String path = Environment.GetFolderPath( Environment.SpecialFolder.MyDocuments );
1
ответ дан 4 December 2019 в 07:23
поделиться

Судя по всему, вы просто хотите создать текстовый файл в настраиваемом каталоге. Я бы посоветовал создать константу для пути (возможно, сохранив ее в файле app.config).

<appSettings>
    <add key="UserInfo" value="/Settings/UserInfo.txt" /> 
</appSettings>

Используйте относительный путь к вашему exe-файлу, чтобы независимо от того, где вы устанавливаете приложение, настройки всегда будут сохраняться в "PathToExe" /Settings/UserInfo.txt".

Затем вы должны сделать что-то вроде:

string UserInfoPath = ConfigurationManager.AppSettings["UserInfo"];
if (String.IsNullOrEmpty(UserInfoPath))
{
    // perhaps use a default value or raise an exception
}

FileInfo fileusername = new FileInfo(Path.Combine(Application.StartUpPath, UserInfoPath));
StreamWriter namewriter = fileusername.CreateText();
namewriter.Write(txtUsername.Text);
namewriter.Close();

Однако вы можете столкнуться с проблемами с разрешениями, используя этот подход, обычно лучше хранить подобные вещи либо в реестре, либо в каталоге AppData.

1
ответ дан 4 December 2019 в 07:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: