A voir également:
- JAVA bufferedreader sur le fichier meme
- Jeux java itel - Télécharger - Jeux vidéo
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Fichier epub - Guide
- Fichier rar - Guide
7 réponses
Hmm perso je n'y ai jamais réfléchi sinon peut être essayé d'ouvrir le fichier en lecture seule si jamais l'ouverture normale ne marche pas? Par contre ça j'ai jamais cherché comment faire j'avoue ...
Bonsoir,
BufferedReader br=new BufferedReader(new FileReader(new File("C:/toto.txt")));
Cordialement,
BufferedReader br=new BufferedReader(new FileReader(new File("C:/toto.txt")));
Cordialement,
Hello marco mais imaginons que le fichier est déjà ouvert cela ne va-t-il pas lever une exception?
Remarque je suis peut être con puisque BuffreredReader veut dire ... :)
Enfin bon j'y ai jamais songé non plus :D (pour ma défense ^^)
Remarque je suis peut être con puisque BuffreredReader veut dire ... :)
Enfin bon j'y ai jamais songé non plus :D (pour ma défense ^^)
Salut Arth,
Au niveau de l'exception, je ne pense pas (après faudrait tester effectivement, parce que je n'en sais rien non plus ^^).
Remarque je suis peut être con puisque BuffreredReader veut dire ... :) Veut dire quoi? Le flux est bufferisé afin de limiter le nombre d'appels système et ainsi augmenter les performances. Mais je ne vois pas en quoi ça a un rapport avec un problème d'accès concurrentiel.
En fait je pense que la question n'est pas très claire, et donc que toi comme moi on s'embrouille un petit peu. Que signifie "le fichier source qu'on est en train d'utiliser?". Pour moi, c'est le fichier .java dans lequel ce code est écrit.
Au niveau de l'exception, je ne pense pas (après faudrait tester effectivement, parce que je n'en sais rien non plus ^^).
Remarque je suis peut être con puisque BuffreredReader veut dire ... :) Veut dire quoi? Le flux est bufferisé afin de limiter le nombre d'appels système et ainsi augmenter les performances. Mais je ne vois pas en quoi ça a un rapport avec un problème d'accès concurrentiel.
En fait je pense que la question n'est pas très claire, et donc que toi comme moi on s'embrouille un petit peu. Que signifie "le fichier source qu'on est en train d'utiliser?". Pour moi, c'est le fichier .java dans lequel ce code est écrit.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non en fait je crois que il veut pouvoir ouvrir un fichier alors qu'il est en cours d'utilisation.
Mais pour le mot "veut dire" bah tout simplement ça signifie Buffer de lecture donc voilà pourquoi je me suis dit que j'étais bête puisque on ouvre un flux de lecture et non d'écrite comme le BufferedWriter, qui lui à mon avis serait pas content !! ^^
Mais pour le mot "veut dire" bah tout simplement ça signifie Buffer de lecture donc voilà pourquoi je me suis dit que j'étais bête puisque on ouvre un flux de lecture et non d'écrite comme le BufferedWriter, qui lui à mon avis serait pas content !! ^^
mais j'ai besoin d'un truc generique parceque c'est un truc automatisé
Le nom du fichier utilisé pour ouvrir le bufferedReader... ? Ce n'est pas franchement clair. Tu veux dire le nom du fichier contenant la classe dans laquelle le BufferedReader est instancié?
Si tu veux un truc générique (même si je ne comprends pas pourquoi vu qu'en principe tu ne donnes pas tes sources à tout le monde), il faut déjà que tu respectes certains principes :
- ton BufferedReader ne doit pas être défini dans une classe anonyme
- ton BufferedReader ne doit pas être défini dans une inner class (en français on doit dire "classe interne", mais je n'en suis pas sûr)
- si la classe dans laquelle est définie le BufferedReader s'appelle Toto, il faut que le fichier s'appelle Toto.java (ça en principe c'est les normes Sun)
Une fois que tout est ok, tu utilises un getClass().getResourceAsStream("tachaine");
Ca te fournira un Stream (tu castes en FileInputStream au besoin).
Enfin, le string "tachaine", il faut le contruire avec l'emplacement de ton fichier Toto.java
Par exemple, si ce fichier se trouve dans le package com.ccm.basic, alors tachaine devra valoir com/ccm/basic/Toto.java. Pour récupérer ça, je te conseille de jouer avec les méthodes suivantes (je ne connais pas trop, mais tu devrais trouver ton bonheur) :
- getClass().getName()
- getClass().getCanonicalName()
- getClass().getSimpleName()
et avec les méthodes de la classe String pour modifier les . en / par exemple
Cordialement,
est ce que getClass().getName retourne de nom de la classe utilisée par l'appel de cette fonction
si oui ça serait bien
this.getClass().getName() retourne le nom de la classe conteneur (ie la classe dans laquelle est définie la méthode dans laquelle tu fais appel à this.getClass().getName()).
Par contre je ne pense pas que ça te donne le package de cette classe (et pour pouvoir lire le fichier, il faut savoir dans quel package cette classe se trouve).
Cordialement,
java.net.URL url =config.getServletContext().getResource("test.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
System.out.println("ligne 1: "+br.readLine();+", et ligne 2: "+br.readLine();");
System.out.println("nombre de caractères: "+br.read);