(J'ai un problème que j'ai illustré dans la question this mais je n'ai pas eu de bonnes réponses.) J'ai affiné mon problème et essayé d'éditer la question initiale pour refléter cela mais je suppose que la façon dont SO affiche les questions sans réponse. pas moyen de le faire revivre, donc je publie ma bonne question à nouveau).Impossible de lancer un fichier sur un réseau à l'aide de Java Desktop?
I ont un fichier qui se trouve sur un emplacement réseau partagé:
"\\KUROSAVVAS-PC\Users\kuroSAVVAS\Desktop\New Folder\Warsaw Panorama.JPG"
(Les espaces sont là intentionnellement)
Le code suivant:
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
try {
String s = "\\\\KUROSAVVAS-PC\\Users\\kuroSAVVAS\\Desktop\\New Folder\\Warsaw Panorama.jpg";
File f = new File(s);
System.out.println(f.exists());
Desktop.getDesktop().open(f);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Affiches à la console sur laquelle le fichier existe (System.out.println (f.exists());) mais jette cette exception! :
java.io.IOException: Failed to open file:////KUROSAVVAS-PC/Users/kuroSAVVAS/Desktop/New%20%20%20%20%20Folder/Warsaw%20%20%20%20Panorama.jpg. Error message: The system cannot find the file specified.
at sun.awt.windows.WDesktopPeer.ShellExecute(WDesktopPeer.java:59)
at sun.awt.windows.WDesktopPeer.open(WDesktopPeer.java:36)
at java.awt.Desktop.open(Desktop.java:254)
at Test.main(Test.java:13)
Quelqu'un a-t-il une idée de ce qui pourrait arriver? J'ai tout essayé depuis la création d'URI jusqu'à leur décodage par la suite ... Rien ne fonctionne.
et ne le même chemin de fichier (à savoir avec des espaces) fonctionne lorsque le fichier est local sur votre ordinateur (c.-à-d. sur C :)? Le problème est-il lié au système de fichiers réseau? –
Si je colle ce "\\\\ KUROSAVVAS-PC \\ Users \\ kuroSAVVAS \\ Bureau \\ Nouveau dossier \ Warsaw Panorama.jpg" dans la boîte de dialogue "Exécuter", le fichier s'ouvre normalement. Dans cet exemple, le partage réside également sur mon disque local, mais en général il devrait fonctionner avec n'importe quel emplacement réseau. –
(les espaces ont été automatiquement supprimés sur mon commentaire précédent, ils sont là ...) Je voulais aussi dire que je suis authentifié contre le partage –