2013-01-25 3 views
5

Comment ouvrir un fichier qui n'est pas présent dans le répertoire courant mais dans un autre répertoire. Par exemple j'ai un dossier F:/test et mon fichier est dans F: /test/test2/doit.txt et D:/test3/doit2.txtComment ouvrir un fichier dans un autre répertoire java?

que entrer dans le chemin dans le paramètre tout en faisant l'objet de fichier comme suit:

File f = new File("/test2/doit.txt"); 
+0

l'avez-vous googlé avant de le poster ici? – Abubakkar

+0

duplication possible de [Comment numériser un fichier dans un répertoire différent dans java?] (Http://stackoverflow.com/questions/2007503/how-to-scan-a-file-in-a-different-directory-in -java) –

+0

mettre le nom de fichier complet –

Répondre

6

Quel que soit le système d'exploitation, un fichier par exemple, demo.txt est accessible comme

File file = new File("/d:/user/demo.txt"); 

dans Windows où le fichier est à D:\user\ et

File file = new File("/usr/demo.txt"); 

dans *nix ou *nux où le fichier est à /usr/

En outre, un fichier si voulu être consulté relativement peut être fait comme (cons eRing l'exemple Windows):

Supposons que je sois dans le répertoire des chansons en D: comme:

D:/ 
| 
|---songs/ 
| | 
| |---Main.java 
| 
|---user/ 
    | 
    |---demo.txt 

et le code est à l'intérieur Main.java, le code suivant fonctionne.

File file = new File("../user/demo.txt"); 
+0

vous n'avez pas échappé des barres obliques dans le constructeur File() –

+4

Je n'en ai pas besoin. Ce sont des barres obliques. – TechSpellBound

-3

Essayez le ci-dessous.

fr = new FileReader ("C:/Users/user/Desktop/java/test.txt"); 
+0

Ok, donc les chemins doivent être absolus plutôt que relatifs dans java.io. Thankx –

+3

Le problème avec l'expression du chemin comme ça, il s'assure que l'application ne peut fonctionner que sur Windows. Java est censé être multi-plateforme. Linux n'a pas de lecteur C :. – NickJ

+1

Maintenant, je peux le lire, c'est une mauvaise réponse. L'OP devrait comprendre comment travailler avec les répertoires relatifs. Aussi, n'ajoutez pas de salutations et de sigs. en réponses (ou questions). Comme commentaires, ils sont bruit. Dans le cadre d'un Q ou un A, un bruit vraiment irritant. –

2

En supposant que vous exécutez votre programme de F:/test, vous devez utiliser quelque chose comme:

File f = new File("./test2/doit.txt"); 

En utilisant des chemins absolus est hardcoded pas une bonne idée - votre programme pourrait ne pas fonctionner lorsque l'utilisateur a une structure de répertoire différente.

+0

pourquoi le chemin absolu n'est pas une bonne idée? –

+1

@NickJ expliqué sur la réponse acceptée. Si vous ne pouvez pas comprendre le commentaire, vous devriez peut-être (faire un peu de recherche &) poser une nouvelle question. –

+0

pour l'indépendance de la plate-forme dans une certaine mesure .. – TechSpellBound

Questions connexes