2015-10-20 4 views
1

Хорошо, поэтому я написал программу, я, очевидно, буду вставлять исходный код ниже. Мне было интересно, есть ли простой способ читать и писать файл, используя streamreader/writer из того же места на каждом компьютере, который его запускает (поскольку я планирую распространять программу в будущем).Сохранение файла в тот же каталог на разных компьютерах?

Я вижу, почему мой код на данный момент не работает, поскольку я читаю/записываю файл в определенном каталоге, но мне нужно найти способ обойти это, чтобы программа могла сохранять и читать файлы в место, которое одинаково на разных компьютерах, даже если диски/каталоги названы по-разному.

Я надеюсь, что я делаю чувство, я буду размещать код ниже, и это мой первый пост, поэтому, пожалуйста, будьте добры: D

Console.Write("Please Enter Your Username: "); 
string getusername = Console.ReadLine(); 
if (File.Exists("H:\\Visual Studio 2013\\Projects\\Server Project\\ConsoleApplication1\\bin\\Debug\\" + getusername + ".txt")) 
{ 
    Console.WriteLine("Checking For a {0}.txt file", getusername); 
    Console.WriteLine("User Profile '{0}' Found!", getusername); 
} 
else 
{ 
    Console.WriteLine("Checking For a {0}.txt file", getusername); 
    Console.WriteLine("That Username/File Path doesn't exist"); 
} 

Я хочу, чтобы моя программа для проверки файла по умолчанию пространство, которое может быть установлено с помощью функции streamreader/writer, если это возможно, снова извините, если это сбивает с толку, я новичок здесь, но я попытался написать сообщение как можно лучше! Благодарю.

+1

Что вы подразумеваете под 'в том же месте'? т.е. на каждом компьютере не обязательно есть диск «H» –

+4

Возможно, что-то вроде этого: https://msdn.microsoft.com/en-us/library/system.environment.specialfolder(v=vs.110).aspx Довольно много опции! –

+0

вы можете сделать 'File.Exists (getusername +" .txt ")', но вам лучше использовать специальные папки, так как @DanielC сказал –

ответ

0

Места, которые «одинаковы на разных компьютерах», звучат как Environment.GetFolderPath.

I.e. для хранения «test.txt» в пути «Мои документы» будет:

var pathToFile = Path.Combine(
     Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), 
     "test.txt"); 
+0

Это именно то, что я искал! Благодаря! – Ladon

Смежные вопросы