Указание расположения файла для класса PrintWriter (Java) и автоматическое добавление .txt - PullRequest
1 голос
/ 20 октября 2010

так скажем, я прошу пользователя указать, что он хочет назвать новым файлом

System.out.println("What do you want to call the file?");

String outputFile = keyboard.nextLine();

Теперь, чтобы написать файл, я бы сделал:

PrintWriter outputFile = new PrintWriter(fileName);

Мой вопрос:

  1. Я знаю, что по умолчанию он сохраняется в локальной папке. Как сделать так, чтобы он сохранялся на рабочем столе пользователя?

  2. Как автоматически добавить .txt к указанному имени файла, чтобы он не делал этого?

Ответы [ 2 ]

1 голос
/ 20 октября 2010
  1. Вы должны знать пользователя дома.Она может варьироваться в зависимости от операционной системы (а пользователь иногда может определять свою собственную), поэтому лучший способ убедиться в этом - обратиться непосредственно к пользователю.Вы также можете сохранить список «путей к рабочему столу по умолчанию».
  2. if(!fileName.endsWith(".txt")) fileName = fileName+".txt";

Ресурсы:

0 голосов
/ 20 октября 2010

Если вы собираетесь спросить пользователя, куда поместить файл, вам, вероятно, следует начать с каталога, который задан системным свойством "user.home", т.е. вызвать System.getProperty ("user.home");
Затем вы можете показать список каталогов и попросить пользователя выбрать один из них, развернув его до тех пор, пока пользователь не окажется в каталоге, который он хочет использовать.На компьютерах с Windows каталог «Рабочий стол» фактически находится непосредственно в домашнем каталоге пользователя.

...