Указание местоположения файла для класса PrintWriter (Java) и автоматически добавления .txt

StackOverflow https://stackoverflow.com/questions/3972601

  •  09-10-2019
  •  | 
  •  

Вопрос

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

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

String outputFile = keyboard.nextLine();

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

PrintWriter outputFile = new PrintWriter(fileName);

Мой вопрос:

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

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

Это было полезно?

Решение

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

Ресурсы:

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top