A voir également:
- Recuperer fichier java
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Fichier epub - Guide
- Fichier rar - Guide
17 réponses
T'as essayé avec la classe URL? Tu crée un objet URL à partir de l'url de ton fichier et ensuite tu récupères le contenu dans un InputStream
en fait le fichier se trouve sur mon ordi ,
donc je pense pas que çà soit la bonne methode .
je veux recuperer son contenu pour l'envoyer dans une socket par exemple
mais moi j'envoie que son chemin .
merci
(je travail sous eclipse)
donc je pense pas que çà soit la bonne methode .
je veux recuperer son contenu pour l'envoyer dans une socket par exemple
mais moi j'envoie que son chemin .
merci
(je travail sous eclipse)
Moi aussi je travaille sous Eclipse, il est vraiment excellent ce logiciel, dommage qu'on ne puisse pas le noter ici.
BREF, pour répondre à ta question, si le fichier est sur ton ordinateur, c'est encore plus simple. T'as juste à utiliser la classe File. Après je sais pas ce que tu veux en faire, mais si tu veux l'afficher, ben tu crées un InputStream à parti de ton objet File (c'est beacoup plus simple que depuis un URL). Tu veux faire quoi exactement?
BREF, pour répondre à ta question, si le fichier est sur ton ordinateur, c'est encore plus simple. T'as juste à utiliser la classe File. Après je sais pas ce que tu veux en faire, mais si tu veux l'afficher, ben tu crées un InputStream à parti de ton objet File (c'est beacoup plus simple que depuis un URL). Tu veux faire quoi exactement?
Oui t'a raison pr eclipse
pr moi c'est le meilleur IDE , je l'utilise pr tout faire presque
pour ma question : j'ai un fichier xml donc (.txt) et je veux l'envoyer à un serveur via une socket et afficher la reponse du serveur.
voici la methode ke j'utilise :
public void envoieMessage(){
String filePath = "C:/Documents and Settings/........./workspace/monFichier.txt";
InputStream in ; // flux d'entrée
OutputStream out; // flux de sortie
if (!connexionServeur()){
System.out.println("Socket à null");}
else {System.out.println("Client >> Socket ouvert ");}
try{
out = sock.getOutputStream();
in = sock.getInputStream();
FileInputStream FileInput = new FileInputStream(filePath);
out.write(filePath.getBytes("ascii")); // écris dans le flux
out.flush();//flush() permet de "vider" le flux pour s'assurer que tout a été envoyé
StringBuffer buffer = new StringBuffer();
sock.setSoTimeout(5000); // un timeOut de 5 seconde pour la lecture du fichier
try{
while ( true ) {
int charReceived = FileInput.read();
if ( charReceived == -1 ) {
break;
}
buffer.append(charReceived + "\n");
}
}catch(IOException e){
System.out.println("temp d'attente pour la reception écoulé : >>" +e.getMessage());
e.printStackTrace();
}
try{
while (true) {
int currentByte = FileInput.read();
if ( currentByte == -1 ) {
break;
}
out.write(currentByte);
}
}
catch (IOException e){
System.out.println(" erreur en écriture : >>"+e.getMessage());
e.printStackTrace();
}
System.out.println("message envoyé au serveur > ");
try { // Lecture de la reponse du serveur
in.read();
} catch (IOException e){
System.out.println("erreur reception : "+ e.getMessage());
}
}catch(IOException e){
System.out.println("erreur envoie du Message : "+e.getMessage());
e.printStackTrace();
}
}
}// fin envoie()
merci
pr moi c'est le meilleur IDE , je l'utilise pr tout faire presque
pour ma question : j'ai un fichier xml donc (.txt) et je veux l'envoyer à un serveur via une socket et afficher la reponse du serveur.
voici la methode ke j'utilise :
public void envoieMessage(){
String filePath = "C:/Documents and Settings/........./workspace/monFichier.txt";
InputStream in ; // flux d'entrée
OutputStream out; // flux de sortie
if (!connexionServeur()){
System.out.println("Socket à null");}
else {System.out.println("Client >> Socket ouvert ");}
try{
out = sock.getOutputStream();
in = sock.getInputStream();
FileInputStream FileInput = new FileInputStream(filePath);
out.write(filePath.getBytes("ascii")); // écris dans le flux
out.flush();//flush() permet de "vider" le flux pour s'assurer que tout a été envoyé
StringBuffer buffer = new StringBuffer();
sock.setSoTimeout(5000); // un timeOut de 5 seconde pour la lecture du fichier
try{
while ( true ) {
int charReceived = FileInput.read();
if ( charReceived == -1 ) {
break;
}
buffer.append(charReceived + "\n");
}
}catch(IOException e){
System.out.println("temp d'attente pour la reception écoulé : >>" +e.getMessage());
e.printStackTrace();
}
try{
while (true) {
int currentByte = FileInput.read();
if ( currentByte == -1 ) {
break;
}
out.write(currentByte);
}
}
catch (IOException e){
System.out.println(" erreur en écriture : >>"+e.getMessage());
e.printStackTrace();
}
System.out.println("message envoyé au serveur > ");
try { // Lecture de la reponse du serveur
in.read();
} catch (IOException e){
System.out.println("erreur reception : "+ e.getMessage());
}
}catch(IOException e){
System.out.println("erreur envoie du Message : "+e.getMessage());
e.printStackTrace();
}
}
}// fin envoie()
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
l'erreur se situe au niveau de : FileInputStream FileInput = new FileInputStream(filePath);
et au niveau de ( in.read )
c-a-d :
try { // Lecture de la reponse du serveur
in.read();
} catch (IOException e){ }
Je crois ke je n'envoie pa le contenu du fichier .
si vous avez une methode plus simple que la mienne merci
et au niveau de ( in.read )
c-a-d :
try { // Lecture de la reponse du serveur
in.read();
} catch (IOException e){ }
Je crois ke je n'envoie pa le contenu du fichier .
si vous avez une methode plus simple que la mienne merci
est - ce que ma methode est dejà bonne ou pas ?
il me renvoie une erreur d'exception sur le "in.read" et le fileInputStream.
c'est pour celà j'ai fai un catch sur le 'in.read"
il me renvoie une erreur d'exception sur le "in.read" et le fileInputStream.
c'est pour celà j'ai fai un catch sur le 'in.read"
desolé pr le retard
voici les erreurs ke eclipse renvoie :
java.io.FileNotFoundException:
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
encore merci
voici les erreurs ke eclipse renvoie :
java.io.FileNotFoundException:
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
encore merci
Bah il ne trouve pas le fichier tout simplement, donc le chemin n'est pas bon.
Il me semble qu'il faut plutôt écrire le chemin d'accès avec des antislashs (doublé d'un caractère d'échappement), du type :
String filepath = "c:\\Dossier 1\\Dossier 2\\Fichier.txt";
Il me semble qu'il faut plutôt écrire le chemin d'accès avec des antislashs (doublé d'un caractère d'échappement), du type :
String filepath = "c:\\Dossier 1\\Dossier 2\\Fichier.txt";
non en fait il ne trouve pa le fichier pasque c'est que le lien que j'envoie
je devrai utiliser File monFichier = new File ();
puis envoyer utiliser les Stream.
mais je sai pa trop comment je doi le faire
je devrai utiliser File monFichier = new File ();
puis envoyer utiliser les Stream.
mais je sai pa trop comment je doi le faire
public String fileToString(String cheminDuFichier) {
FileInputStream fis = null;
File f = new File("cheminDuFichier");
try {
fis = new FileInputStream(f);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] b = new byte[(int)f.length()];
try {
fis.read(b);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new String(b);
}
J'ai pas testé
FileInputStream fis = null;
File f = new File("cheminDuFichier");
try {
fis = new FileInputStream(f);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] b = new byte[(int)f.length()];
try {
fis.read(b);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new String(b);
}
J'ai pas testé
Public String fileToString(String cheminDuFichier) {
FileInputStream fis = null;
File f = new File(cheminDuFichier); sans les "" try {
fis = new FileInputStream(f);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] b = new byte[(int)f.length()];
try {
fis.read(b);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new String(b);
}
et çà recupère bien le contenu d'un fichier
faut juste indiquer le chemin dans le main et çà le fait
mais comment on envoie le fichier dans une socket ?
FileInputStream fis = null;
File f = new File(cheminDuFichier); sans les "" try {
fis = new FileInputStream(f);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] b = new byte[(int)f.length()];
try {
fis.read(b);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new String(b);
}
et çà recupère bien le contenu d'un fichier
faut juste indiquer le chemin dans le main et çà le fait
mais comment on envoie le fichier dans une socket ?