2017-01-12 1 views
1

English: Возможно ли в java узнать выходные файлы, указанные при выполнении jar (без параметров синтаксического анализа)? Например, с помощью этой команды:Возможно ли в java знать выходные файлы, указанные при выполнении jar?

java -jar application.jar 1> output.log 2> error.err 

Java может знать, что вывод по умолчанию в output.log и ошибка в error.err?

Français: Est-иль можно ан Явы де connaitre ле fichiers де самолето указывает Lors де l'Execution d'ООН баночка (без парсер ле аргументы)?

Par Exemple данс ле саз де l'Execution де Cette Commande:

java -jar application.jar 1> output.log 2> error.err 
+1

вы хотите знать имя output.log и error.err имен файлов в вашем методе Main() ?? – PyThon

+0

Единственные способы, о которых я могу думать, относятся к платформе и/или включают JNI. И даже это может быть ненадежным. Для начала см. Http://stackoverflow.com/questions/11221186/how-do-i-find-a-filename-given-a-file-pointer –

ответ

3

Путь перенаправлении вывода к файлам осуществляется на уровне операционной системы, но не на уровне Java, поэтому его не представляется возможным способом ты делаешь.

[Alernate способ]

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

Run Command

java -jar application.jar output.log error.err 

Главный класс

public static void main(String[] args){ 
    // file names will be available as args[1] and args2[] 
    String outputFileName = args[1]; 
    String errorOutputFileName = args[2]; 
    System.setOut(new PrintStream(new BufferedOutputStream(new FileOutputStream(args[1])))); 
    System.setErr(new PrintStream(new BufferedOutputStream(new FileOutputStream(args[2])))); 
    // ... 

} 
+0

Итак, я проанализирую параметры приложения, чтобы найти их. . Благодаря! – SkayParadigm

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

  • Нет связанных вопросов^_^