D'où java look pour les fichiers?
J'essaie de lire un fichier en java:
Public class Test{
public static void main (String [] args) throws IOException {
BufferedReader f = new BufferedReader(new FileReader("test.in"));
//...
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("test.out")));
//...
}
}
1) Où devrait l'emplacement de "test.dans" l'être? (src? bin? ???)
2) Où permettra de "tester.de" être situé?
- Comment êtes-vous de l'exécution de votre code? À partir de la ligne de commande ou à partir de quelque part comme eclipse?
- A en juger sur le fait que vous parlez de la src et bin, je suis en supposant que vous utilisez une sorte de SDK? Sinon, la réponse est triviale; le lieu sera le même emplacement où vous exécutez votre fichier java. Fournir un peu plus d'info sur ce SDK que vous utilisez et que quelqu'un pourra répondre mieux.
- "D'où vient Java look pour les fichiers?" Pourquoi ne pas demander à Java lui-même:
System.out.println(System.getProperty("user.dir"));
Edit: 1+ de @mebigfatguy que je vois maintenant qu'il a donné la même suggestion avant moi.
Vous devez vous connecter pour publier un commentaire.
En général c'est l'exact emplacement où le fichier Java vous êtes en cours d'exécution est. Donc, si vous utilisez votre Java fichier dans C:\ et que vous cherchez un fichier sans spécifier un chemin d'accès, il sera dans C:\ qu'il regarde, et le fichier de sortie sera également dans C:\
Si vous utilisez quelque chose comme Netbeans cependant, vous avez juste à placer le fichier dans le projet netbeans dossier de votre projet spécifique. Pas dans la source ou de la corbeille les dossiers de votre projet.
C:\java
et votre répertoire de travail courant (que vous pouvez voir en utilisantSystem.out.println(System.getProperty("user.dir"));
) estC:\run
lorsque vous lancez le programme, il va chercher les fichiers dansC:\run
.Un chemin d'accès relatif ed fichier est recherché dans le répertoire spécifié par le Système.getProperty("user.dir")
La réponse est le dossier de travail, ce qui signifie que le dossier dans lequel vous avez exécuté la "java ... de la commande". C'est le dossier du projet dans les projets eclipse par exemple.
J'ai probablement passé beaucoup trop de temps sur cette question, mais:
Bonjour Java entrée!
Dans le même répertoire, créer "Test.java":
Enfin, exécutez-le - indiquer le nom du package:
'Espère que permet d'expliquer un certain nombre de choses, y compris:
Votre "répertoire par défaut" à l'égard de compilation et de l'exécution
Comment les "paquets" se rapportent à des "répertoires"
Le fait que Java va mettre vos fichiers de classe dans le répertoire du package (pas nécessairement votre répertoire de travail)
Eclipse recherche le fichier exactement dans le dossier racine du projet (nom du projet de dossier). Vous pouvez donc avoir src/test.pour trouver les fichiers dans le dossier src du projet.