Lire les caracteres au fur et à messure: java
Résolu
Decon
Messages postés
91
Date d'inscription
Statut
Membre
Dernière intervention
-
Decon Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
Decon Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Lire les caracteres au fur et à messure: java
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire epub - Guide
- Lire fichier bin - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
10 réponses
slt pour lire les caracteres au fur et a mesure tu peux faire des manip de chaine
en C ou en C++
le mot cle en C++ est string de la librairie string .h;l'equivalent en C est sterlen
surtout noubli pas de les progra a la norme ISO ou ANSI selon le compilateur que tu as allez Bonne chance
en C ou en C++
le mot cle en C++ est string de la librairie string .h;l'equivalent en C est sterlen
surtout noubli pas de les progra a la norme ISO ou ANSI selon le compilateur que tu as allez Bonne chance
Tu peux mettre le code qui leut permet de communiquer déjà!
Comme ca on pourra se baser la dessus pour essayer d'avancer!
Comme ca on pourra se baser la dessus pour essayer d'avancer!
Si tu dois le faire en Swing, voici un petit exemple basé sur un JTextField :
JFrame fr = new JFrame();
JTextField tf = new JTextField();
tf.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e) {
manageChange(e);
}
@Override
public void insertUpdate(DocumentEvent e) {
manageChange(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
manageChange(e);
}
private void manageChange(DocumentEvent e) {
try {
System.err.println("Type : "+e.getDocument().getText(e.getOffset(), e.getLength()));
}
catch (BadLocationException e1) {
e1.printStackTrace();
}
}
});
fr.getContentPane().add(tf);
fr.pack();
fr.setVisible(true);
JFrame fr = new JFrame();
JTextField tf = new JTextField();
tf.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e) {
manageChange(e);
}
@Override
public void insertUpdate(DocumentEvent e) {
manageChange(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
manageChange(e);
}
private void manageChange(DocumentEvent e) {
try {
System.err.println("Type : "+e.getDocument().getText(e.getOffset(), e.getLength()));
}
catch (BadLocationException e1) {
e1.printStackTrace();
}
}
});
fr.getContentPane().add(tf);
fr.pack();
fr.setVisible(true);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
code de la partie client:
import java.io.*;
import java.net.*;
public class Client
{
//on declare une socket de type Socket qui ouvre une connexion au serveur
//on declare une variable de type String
//on initialise le port de connexion au serveur (ici le port par defaut est 8254)
private Socket socket;
private String name;
private final int PORT=8254;
//la methode Client prend en param�tre une socket ainsi qu'une cha�ne de caract�re associee � cette Socket
public Client(Socket s, String n)
{
this.socket=s;
this.name=n;
}
public static void main(String[] args)
{
//try = gestion d'erreurs, lorqu'il re�oit une erreur, il l'intercepte et l'affiche avec le catch
//la methode "main" ouvre une socket sur une adresse IP par defaut et sur le port du serveur aussi passe en defaut
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String numero = "8254";
String ipadress;
String pseudo = System.getProperty("user.name");
System.out.println("entrez l'adresse ip du serveur ");
ipadress= clavier.readLine();
Socket connexion = new Socket(ipadress, 8254);
//Socket connexion = new Socket("172.16.0.1", 8254);
//les 3 lignes de codes suivantes g�rent la gestion de lecture/ecriture du clavier
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
//ici on informe le serveur qu'un nouveau client vient de se connecter
sortie.println("Nouveau client "+ numero);
//on fait appelle ^ la classe ThreadClient pour etablir la connexion
new ThreadClient(connexion, numero).start();
System.out.println("***************************************************************************"+"\n");
System.out.println("Bonjour "+pseudo+", bienvenue sur le Chat de notre equipe de developpement "+"\n");
System.out.println("***************************************************************************");
System.out.println("Connexion etablie!");
System.out.println("Pour sortir tapez : quitter");
System.out.println(pseudo+" peut desormais dialoguer avec les autres personnes connectees."+"\n");
//Tant que le Client n'a pas tapper "quitter", la connexion est toujours etablie
//le mot de passe "quitter" indique la fin d'une connexion
/*
while (true)
{
//String ligne = "test";
char ligne = (char) clavier.read();
if (ligne=='!')
//if (ligne.equalsIgnoreCase("quitter"))
{
sortie.println("quitter");
break;
}
//la sortie du "try" si la connexion au serveur a echouZ, elle est indiquee
// ecrit le texte tapZ au serveur(ds le flux)
while (ligne!='!') sortie.print(ligne);
// if (ligne != null) sortie.println(ligne);
*
*/
while(true){
final char EOF = (char)-1 ; // caract'ere << End Of File >>
char carCourant ;
carCourant = (char) System.in.read () ;
if (carCourant == EOF){
// static void avancerCar () {
// try {
sortie.println("quitter");
break;
}
if (carCourant!= EOF) sortie.print(carCourant);
// catch (java.io.IOException e) {
// carCourant = (char) System.in.read () ;
// carCourant = EOF ; /* En cas d'exception, on consid'ere
// la fin de fichier atteinte. */
// }
// }
}
}
catch(IOException e) { System.out.println("Erreur client : "+e); }
System.out.println("Connexion terminee...");
}
//la methode getName permet de nous retourner le nom associe � la socket
public String getName()
{
return name;
}
//la methode getSocket nous retourne la Socket
public Socket getSocket()
{
return socket;
}
//setSocket permet de modifier la Socket et de la remplacer
public void setSocket(Socket socket)
{
this.socket = socket;
}
//setName permet de changer le nom attribue � la socket
public void setName(String name)
{
this.name = name;
}
}
import java.io.*;
import java.net.*;
public class Client
{
//on declare une socket de type Socket qui ouvre une connexion au serveur
//on declare une variable de type String
//on initialise le port de connexion au serveur (ici le port par defaut est 8254)
private Socket socket;
private String name;
private final int PORT=8254;
//la methode Client prend en param�tre une socket ainsi qu'une cha�ne de caract�re associee � cette Socket
public Client(Socket s, String n)
{
this.socket=s;
this.name=n;
}
public static void main(String[] args)
{
//try = gestion d'erreurs, lorqu'il re�oit une erreur, il l'intercepte et l'affiche avec le catch
//la methode "main" ouvre une socket sur une adresse IP par defaut et sur le port du serveur aussi passe en defaut
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String numero = "8254";
String ipadress;
String pseudo = System.getProperty("user.name");
System.out.println("entrez l'adresse ip du serveur ");
ipadress= clavier.readLine();
Socket connexion = new Socket(ipadress, 8254);
//Socket connexion = new Socket("172.16.0.1", 8254);
//les 3 lignes de codes suivantes g�rent la gestion de lecture/ecriture du clavier
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
//ici on informe le serveur qu'un nouveau client vient de se connecter
sortie.println("Nouveau client "+ numero);
//on fait appelle ^ la classe ThreadClient pour etablir la connexion
new ThreadClient(connexion, numero).start();
System.out.println("***************************************************************************"+"\n");
System.out.println("Bonjour "+pseudo+", bienvenue sur le Chat de notre equipe de developpement "+"\n");
System.out.println("***************************************************************************");
System.out.println("Connexion etablie!");
System.out.println("Pour sortir tapez : quitter");
System.out.println(pseudo+" peut desormais dialoguer avec les autres personnes connectees."+"\n");
//Tant que le Client n'a pas tapper "quitter", la connexion est toujours etablie
//le mot de passe "quitter" indique la fin d'une connexion
/*
while (true)
{
//String ligne = "test";
char ligne = (char) clavier.read();
if (ligne=='!')
//if (ligne.equalsIgnoreCase("quitter"))
{
sortie.println("quitter");
break;
}
//la sortie du "try" si la connexion au serveur a echouZ, elle est indiquee
// ecrit le texte tapZ au serveur(ds le flux)
while (ligne!='!') sortie.print(ligne);
// if (ligne != null) sortie.println(ligne);
*
*/
while(true){
final char EOF = (char)-1 ; // caract'ere << End Of File >>
char carCourant ;
carCourant = (char) System.in.read () ;
if (carCourant == EOF){
// static void avancerCar () {
// try {
sortie.println("quitter");
break;
}
if (carCourant!= EOF) sortie.print(carCourant);
// catch (java.io.IOException e) {
// carCourant = (char) System.in.read () ;
// carCourant = EOF ; /* En cas d'exception, on consid'ere
// la fin de fichier atteinte. */
// }
// }
}
}
catch(IOException e) { System.out.println("Erreur client : "+e); }
System.out.println("Connexion terminee...");
}
//la methode getName permet de nous retourner le nom associe � la socket
public String getName()
{
return name;
}
//la methode getSocket nous retourne la Socket
public Socket getSocket()
{
return socket;
}
//setSocket permet de modifier la Socket et de la remplacer
public void setSocket(Socket socket)
{
this.socket = socket;
}
//setName permet de changer le nom attribue � la socket
public void setName(String name)
{
this.name = name;
}
}
non je me suis trompé de code, celui là n'est pas bon
Voici le bon:
import java.io.*;
import java.net.*;
public class Client
{
//on declare une socket de type Socket qui ouvre une connexion au serveur
//on declare une variable de type String
//on initialise le port de connexion au serveur (ici le port par defaut est 8254)
private Socket socket;
private String name;
private final int PORT=8254;
//la methode Client prend en param�tre une socket ainsi qu'une cha�ne de caract�re associee � cette Socket
public Client(Socket s, String n)
{
this.socket=s;
this.name=n;
}
public static void main(String[] args)
{
//try = gestion d'erreurs, lorqu'il re�oit une erreur, il l'intercepte et l'affiche avec le catch
//la methode "main" ouvre une socket sur une adresse IP par defaut et sur le port du serveur aussi passe en defaut
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String numero = "8254";
String ipadress;
String pseudo = System.getProperty("user.name");
System.out.println("entrez l'adresse ip du serveur ");
ipadress= clavier.readLine();
Socket connexion = new Socket(ipadress, 8254);
//Socket connexion = new Socket("172.16.0.1", 8254);
//les 3 lignes de codes suivantes g�rent la gestion de lecture/ecriture du clavier
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
//ici on informe le serveur qu'un nouveau client vient de se connecter
sortie.println("Nouveau client "+ numero);
//on fait appelle ^ la classe ThreadClient pour etablir la connexion
new ThreadClient(connexion, numero).start();
System.out.println("***************************************************************************"+"\n");
System.out.println("Bonjour "+pseudo+", bienvenue sur le Chat de notre equipe de developpement "+"\n");
System.out.println("***************************************************************************");
System.out.println("Connexion etablie!");
System.out.println("Pour sortir tapez : quitter");
System.out.println(pseudo+" peut desormais dialoguer avec les autres personnes connectees."+"\n");
//Tant que le Client n'a pas tapper "quitter", la connexion est toujours etablie
//le mot de passe "quitter" indique la fin d'une connexion
while (true)
{
//String ligne = "test";
String ligne = clavier.readLine();
if (ligne.equalsIgnoreCase("quitter"))
{
sortie.println("quitter");
break;
}
//la sortie du "try" si la connexion au serveur a echouZ, elle est indiquee
//Ecrit dans le flux du serveur(sortie)
if (ligne != null) sortie.println(ligne);
}
}
catch(IOException e) { System.out.println("Erreur client : "+e); }
System.out.println("Connexion terminee...");
}
//la methode getName permet de nous retourner le nom associe � la socket
public String getName()
{
return name;
}
//la methode getSocket nous retourne la Socket
public Socket getSocket()
{
return socket;
}
//setSocket permet de modifier la Socket et de la remplacer
public void setSocket(Socket socket)
{
this.socket = socket;
}
//setName permet de changer le nom attribue � la socket
public void setName(String name)
{
this.name = name;
}
}
Voici le bon:
import java.io.*;
import java.net.*;
public class Client
{
//on declare une socket de type Socket qui ouvre une connexion au serveur
//on declare une variable de type String
//on initialise le port de connexion au serveur (ici le port par defaut est 8254)
private Socket socket;
private String name;
private final int PORT=8254;
//la methode Client prend en param�tre une socket ainsi qu'une cha�ne de caract�re associee � cette Socket
public Client(Socket s, String n)
{
this.socket=s;
this.name=n;
}
public static void main(String[] args)
{
//try = gestion d'erreurs, lorqu'il re�oit une erreur, il l'intercepte et l'affiche avec le catch
//la methode "main" ouvre une socket sur une adresse IP par defaut et sur le port du serveur aussi passe en defaut
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String numero = "8254";
String ipadress;
String pseudo = System.getProperty("user.name");
System.out.println("entrez l'adresse ip du serveur ");
ipadress= clavier.readLine();
Socket connexion = new Socket(ipadress, 8254);
//Socket connexion = new Socket("172.16.0.1", 8254);
//les 3 lignes de codes suivantes g�rent la gestion de lecture/ecriture du clavier
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
//ici on informe le serveur qu'un nouveau client vient de se connecter
sortie.println("Nouveau client "+ numero);
//on fait appelle ^ la classe ThreadClient pour etablir la connexion
new ThreadClient(connexion, numero).start();
System.out.println("***************************************************************************"+"\n");
System.out.println("Bonjour "+pseudo+", bienvenue sur le Chat de notre equipe de developpement "+"\n");
System.out.println("***************************************************************************");
System.out.println("Connexion etablie!");
System.out.println("Pour sortir tapez : quitter");
System.out.println(pseudo+" peut desormais dialoguer avec les autres personnes connectees."+"\n");
//Tant que le Client n'a pas tapper "quitter", la connexion est toujours etablie
//le mot de passe "quitter" indique la fin d'une connexion
while (true)
{
//String ligne = "test";
String ligne = clavier.readLine();
if (ligne.equalsIgnoreCase("quitter"))
{
sortie.println("quitter");
break;
}
//la sortie du "try" si la connexion au serveur a echouZ, elle est indiquee
//Ecrit dans le flux du serveur(sortie)
if (ligne != null) sortie.println(ligne);
}
}
catch(IOException e) { System.out.println("Erreur client : "+e); }
System.out.println("Connexion terminee...");
}
//la methode getName permet de nous retourner le nom associe � la socket
public String getName()
{
return name;
}
//la methode getSocket nous retourne la Socket
public Socket getSocket()
{
return socket;
}
//setSocket permet de modifier la Socket et de la remplacer
public void setSocket(Socket socket)
{
this.socket = socket;
}
//setName permet de changer le nom attribue � la socket
public void setName(String name)
{
this.name = name;
}
}
Après tu organises ton code comme tu veux mais mon exemple définit la méthode manageChange dans laquelle se trouve un System.err qui affiche ce qui est lu à chaque frappe de touche dans le JTextField.
C'est un exemple qui te permet de comprendre comment récupérer la saisie au fur et à mesure, mais ce n'est pas la correction de ton projet ;)
C'est un exemple qui te permet de comprendre comment récupérer la saisie au fur et à mesure, mais ce n'est pas la correction de ton projet ;)