[JAVA] Création de fichier, écriture fichier

Résolu/Fermé
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 11 juin 2007 à 16:44
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 12 juin 2007 à 11:41
Bonjour à tous,

J'ai actuellement un soucis en java pour l'écriture de logs dans un fichier.
J'ai un scénario (une classe java) chargée de faire un traitement et d'écrire les logs dans un fichier de rapport.
Au début du thread j'initialise donc les différents fichiers de rapport en écrivant un "header" dans chaque fichier comme suit :

        if (theReportType.equals(ERR_REPORT_TYPE) ) {
			
		setErrorReportFileId(new RandomAccessFile(theReportFileName,"rw"));
		getErrorReportFileId().seek(getErrorReportFileId().length());
		header.append(ERROR_TITLE);
		getErrorReportFileId().writeBytes(header.toString());
	}


Ce qui habituellement créé le fichier de rapport et le rempli par la chaine de caractère 'header'.
Ce procédé fonctionne à merveille sauf sur l'une de mes classes :
Les logs sont bel et bien écrits (trace à l'appuye) et mon fichier semble être créé au niveau du code (Si je fais un : getErrorReportFileId().lenght() la taille du fichier augmente à mesure que j'écrit dedans).

Or si je vais voir dans le répertoire adéquat sous UNIX, le fichier correspondant n'est pas créé !!!
Sous windows le fichier est créé !!

Je ne comprends pourquoi le fichier n'est pas créé sous UNIX qui est un environement bien plus permissif que Window au niveau de la création de fichier...

Est-ce que quelqun saurait d'où ce comportement peut venir ?

Merci de votre aide.

A voir également:

1 réponse

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
12 juin 2007 à 11:41
Solution trouvée :

Après quelque recherche approfondie dans le code, il s'avère y avoir un problème de flush sur l'object Log4j utilisé pour l'écriture des rapports. Ceci a pour conséquence de faire planter l'écriture des rapports.

2