Le direct réponse est que vous ne pouvez pas dire comment la JVM a été lancé.
Mais pour l'exemple de cas d'utilisation dans votre question, vous n'avez pas vraiment besoin de savoir comment la JVM a été lancé. Ce que vous avez vraiment besoin de savoir, c'est si l'utilisateur voit un message écrit à la console. Et la façon de le faire serait quelque chose comme ceci:
if (!file.exists()) {
Console console = System.console();
if (console != null) {
console.format("File doesn't exists%n");
} else if (!GraphicsEnvironment.isHeadless()) {
JOptionPane.showMessage(null, "File doesn't exists");
} else {
// Put it in the log
}
}
La javadoc de la Console, tout n'est pas étanche à l'eau, fortement allusions objet de Console (si elle existe) écrit dans une console et ne peut pas être redirigé.
Merci @Stephen Denne pour l' !GraphicsEnvironment.isHeadless()
astuce.