Bonjour

Je tente tant bien que mal d'utiliser createTempFile sur Unix.

Premier essai, le plus simplement du monde.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
String extension = ".sh";
File script = File.createTempFile("aceScript", extension);
Ca marche sous windows. Mais sous unix (Red Hat EL) :
java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at com.axway.ace.Settings.createScript(Unknown Source)
at com.axway.ace.AceServer.prepareCommandScript(Unknown Source)
at com.axway.ace.io.console.ServerConsole.commandStart(Unknown Source)
at com.axway.ace.io.console.ServerConsole.doMain(Unknown Source)
at com.axway.ace.io.console.ServerConsole.main(Unknown Source)
Okayyy. Je cherche un peu je lis quelquepart que la création de fichier temporaire est pas toujours au point. Version 2 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
try {
	script = File.createTempFile("aceScript", extension);
} catch (IOException e) {
	File tempDir = new File(System.getProperty("java.io.tmpdir"));
	script = new File(tempDir, "aceScript"+new Date().getTime()+extension);
}
Et encore boum

java.io.FileNotFoundException: /tmp/aceScript1261054991473.sh (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at com.axway.ace.Settings.createScript(Unknown Source)
at com.axway.ace.AceServer.prepareCommandScript(Unknown Source)
at com.axway.ace.io.console.ServerConsole.commandStart(Unknown Source)
at com.axway.ace.io.console.ServerConsole.doMain(Unknown Source)
at com.axway.ace.io.console.ServerConsole.main(Unknown Source)
Je suppose que l'OS est connement installé, merci le support IT, et que Java ne pourra pas m'accorder les droits de lecture/écriture sur le fichier ou les dossiers.

Quelqu; un a une autre solution que créer un répertoire temporaire et me démerder avec?

Merci d'avance