2010-09-17 3 views
0

Je suis en train d'écrire un code Java qui doit enregistrer un fichier.endroit commun pour stocker des fichiers sur mac et windows

le code ci-dessous est pour mac. Image12.write (image_vidéo, "jpg", nouveau fichier ("/ Users/sathyap/Desktop/movieimages /" + nom_fichier "" jpg "));

est-il un moyen que je peux donner la structure de répertoire "/ Users/sathyap/Desktop/movieimages /" codé en dur qui fonctionne à la fois pour Mac et Windows.

+0

vous pouvez stocker le fichier quelque part dans le répertoire de travail actuel? – jsshah

+0

mais est-il accessible à l'utilisateur. Je veux que ce soit certain que l'utilisateur peut y accéder facilement. comme Mes documents ou de bureau, etc. – Sathya

+0

si un utilisateur peut lancer un programme à partir d'un répertoire dit "c: \ test" ... et si le programme peut écrire dans ce répertoire ... que le fichier est également accessible à l'utilisateur. .. voir ma réponse ci-dessous – jsshah

Répondre

0

En supposant que le programme s'exécute sous un répertoire (X) dans Mac et Windows. Vous pouvez le code comme ceci:

//This will give the current working directory 
String directoryPath = System.getProperty("user.dir"); 

//now get the platform dependent path 
String filePath = directoryPath + File.separator + "data" + File.separator + "filename"; 

File fileToWriteTo = new File(filePath); 

File.separator prendra soin de la plate-forme ... vos fichiers seront toujours enregistrés sous travail en cours de répertoire tel ... vous pouvez fournir des raccourcis pour accéder à ces chemins et les placer sur bureau

Si un utilisateur peut exécuter le programme qui écrit dans ce répertoire ... Je suppose que l'utilisateur peut également accéder aux fichiers sans problème

+0

merci. fonctionne très bien. "Si un utilisateur peut exécuter le programme qui écrit dans ce répertoire ... Je suppose que l'utilisateur peut également accéder aux fichiers sans problème" c'est vrai. – Sathya

+0

Cela ne fonctionnera pas dans Windows si votre programme est installé dans Program Files. Il s'attend à ce que vous stockiez les fichiers post-installation sous l'utilisateur. user.dir est le répertoire de travail. – McAden

0

EDIT: Changement total de ma réponse car je pense que ce que vous cherchez est de rester sur plusieurs plates-formes plutôt que de coder pour chaque situation séparément.

System.getProperty("user.home") 
+0

hey. merci réel utile. sera utile. – Sathya

Questions connexes