Il s'agit d'une fonction de consignation qui enregistre le flux d'erreurs lors de l'exécution d'un programme externe. Tout fonctionne bien. Mais je ne veux pas générer le fichier journal lorsqu'il n'y a pas de données dans le flux d'erreurs. Actuellement, il crée un fichier de taille zéro. S'il vous plaît aider.Ignorer la création d'un fichier dans FileOutputStream lorsqu'il n'y a pas de données dans Inputstream
FileOutputStream fos = new FileOutputStream(logFile);
PrintWriter pw = new PrintWriter(fos);
Process proc = Runtime.getRuntime().exec(externalProgram);
InputStreamReader isr = new InputStreamReader(proc.getErrorStream());
BufferedReader br = new BufferedReader(isr);
String line=null;
while ((line = br.readLine()) != null)
{
if (pw != null){
pw.println(line);
pw.flush();
}
}
Merci.
Merci Skeet @ Jon. J'ai trouvé mon erreur. J'ai essayé de différer seulement le PrintWriter, parce que FileOutputStream est réellement un paramètre de la fonction. On dirait que j'ai besoin de changer mon type de paramètre en fichier puis créer FileOutputStream à l'intérieur de la boucle. – Sujee