Comment créer un fichier dans le répertoire src/main/resources
Si je fais cela
fis = new FileInputStream(new File(".").getAbsolutePath() + "/sudoinput.txt");
Son d'essayer d'écrire à cet emplacement sur le serveur. Je ne suis pas sûr si c'est une écriture
place.
FILE NAME (fos)::::::::::::::::::/opt/tomcat/temp/./sudoinput.txt
FILE NAME (fis)::::::::::::::::::/opt/tomcat/temp/./sudoinput.txt
Je voulais écrire à
webapps/sudoku/WEB-INF/classes
ce qui est fondamentalement
C:\Users \ ...\git\sudo-projet\sudo\src\main\ressources
Sur Eclipse Windows 7-je obtenir ce
erreur
src\main\resources\sudoinput.txt (Le système ne peut pas trouver le chemin d'accès spécifié)
si je donne
fis = new FileInputStream("src/main/resources/sudoinput.txt");
J'ai essayé cela aussi:
fis = new FileInputStream("src\\main\\resources\\sudoinput.txt");
mais ne fonctionne pas.
comment dois-je créer un fileinputstream pour être en mesure d'écrire dans src/main/resources ?
veuillez noter que je suis en utilisant eclipse windows pour faire du dev et téléchargera les .la guerre de fichier sur un serveur unix si cela change la manière dont les chemins d'accès doivent être spécifiés.
Vous devez vous connecter pour publier un commentaire.
La
src/main/resources
dossier est un dossier qui est censé contenir ressources pour votre application. Comme vous l'avez remarqué, maven paquets de ces fichiers à la racine de votre fichier de sorte que vous pouvez accéder à votre bibliothèque.Ont un look à la Maven de la documentation sur le répertoire standard de mise en page.
Dans certains cas, il est possible d'écrire dans le contexte mais ce n'est pas une bonne idée de l'essayer. Selon la façon dont votre webapp est déployé, vous pouvez pas être en mesure d'écrire dans le répertoire. Prenons le cas lorsque vous déployez un .la guerre de l'archive. Cela signifie que vous essayez d'écrire dans la guerre d'archives et ce ne sera pas possible.
Une meilleure idée serait d'utiliser un fichier temporaire. De cette façon, vous pouvez être sûr que cela fonctionne, indépendamment de la façon dont votre application web est déployée.
D'accord avec Sandiip Patil. Si vous n'avez pas de dossier à l'intérieur de vos ressources, alors le chemin sera
/sudoinput.txt
ou dans le dossier/folder_name/sudoinput.txt.
Pour obtenir un fichier de ressources, vous devez utiliserYourClass.class.getResource("/filename.txt");
Par exemple
ou
Consulter également: cette
Vous pouvez garder le fichier créé en vertu de ressources et d'appel .classe.getresource(your_file_name_or_path_separated_with_forward_slash);
Voir si cela fonctionne pour vous.
Si vous voulez créer des fichiers dans
webapps/sudoku/WEB-INF/classes
qui est à la fin dans la GUERRE de fichier qui peut être réalisé en mettant les fichiers que vous voulez danssrc/main/resources/
Cela signifie en d'autres termes, vous devez créer le dossier
src/main/resources
et mettre les fichiers dans ce répertoire.