Pergunta

este código está correto ??

String note = "text.txt";
FileWriter file = new FileWriter(note);
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name:");
String name = sc.next();
file.close();

Como posso passar esse arquivo para o programa como um argumento de linha de comando ???

Foi útil?

Solução

Bem, pessoalmente, eu nunca use FileWriter como ele usa a codificação padrão do sistema, que é uma coisa desagradável de fazer a maior parte do tempo. Eu prefiro FileOutputStream + OutputStreamWriter. No entanto, tendo dito isso ...

O que você quer passar como argumento de linha de comando? O nome do arquivo ? Isso é fácil:

public static void main(String[] args)
{
    // Insert error checking here (e.g. args.length == 0)
    String note = args[0]; // For the first argument
    // Rest of code here
}

Se isso é não que você quer dizer, por favor edite sua pergunta para esclarecê-lo.

A julgar pelo título, você pode estar querendo load de um arquivo em vez de System.in. Nesse caso, você só precisa passar em um objeto File, ou um InputStream (como FileInputStream) ou mesmo um Readable (como InputStreamReader). Se você estiver indo para passar em um File ou InputStream, eu recomendo fortemente que você passar o nome de codificação de caracteres bem. (Muito por isso leva-lo como uma string em vez de um Charset está além de mim, mas o Java API é basicamente muito ruim quando se trata de codificações.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top