Java: deprecated problèmes...
velociraptor
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonsoir,
j'ai créer une fonction liredate qui transforme une String en date mais me renvois des dates différentes de celles prises en paramètre et me met en plus que mon programme est deprecated.
Pourriez vous m'éclairer sur la signification de deprecated ?
Pourriez vous m'aider à avoir une date correcte?
merci!
je vous joins le code de ma fonction:
public static Date lireDate(String chaine)
{
int j,m,a;
j = Integer.parseInt(chaine.substring(0,1));
m = Integer.parseInt(chaine.substring(3,4));
a = Integer.parseInt(chaine.substring(6,7));
return new Date(j,m,a);
}
Bonne soirée, alexandre
j'ai créer une fonction liredate qui transforme une String en date mais me renvois des dates différentes de celles prises en paramètre et me met en plus que mon programme est deprecated.
Pourriez vous m'éclairer sur la signification de deprecated ?
Pourriez vous m'aider à avoir une date correcte?
merci!
je vous joins le code de ma fonction:
public static Date lireDate(String chaine)
{
int j,m,a;
j = Integer.parseInt(chaine.substring(0,1));
m = Integer.parseInt(chaine.substring(3,4));
a = Integer.parseInt(chaine.substring(6,7));
return new Date(j,m,a);
}
Bonne soirée, alexandre
A voir également:
- Java: deprecated problèmes...
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
10 réponses
j'ai un autre problème qui n'a rien à voir:
pour lire une ligne d'un fichier texte, pas de problème, mais pour faire une lecture de ligne autant de fois qu'il y a de ligne dans le fichier... Je sais pas...
Encore merci pour toute votre aide!
alexandre
pour lire une ligne d'un fichier texte, pas de problème, mais pour faire une lecture de ligne autant de fois qu'il y a de ligne dans le fichier... Je sais pas...
Encore merci pour toute votre aide!
alexandre
d'abord chaine.substring(a,b) retourne une sous chaîne de chaine qui est de type String;
Integer.parseInt(String s) "transforme" le type String de s en type int. Bref, "5" devient 5;
PS: Tu mets seulement un caractère pour la date? ie tu travailles seulement les 9 premiers jours du mois? ;-)))
Integer.parseInt(String s) "transforme" le type String de s en type int. Bref, "5" devient 5;
PS: Tu mets seulement un caractère pour la date? ie tu travailles seulement les 9 premiers jours du mois? ;-)))
Si jamais le constructeur Date(int year, int month, int date) est Deprecated et est remplacé par Calendar.set(year + 1900, month, date).
Plus ça rate, plus on a de chances que ça marche.
Plus ça rate, plus on a de chances que ça marche.
Je me permet de vous donner le code:
public static void Affichage_RDV() throws IOException
{
System.out.println("\nVoila vos rendez-vous!\n");
InputStream ips=new FileInputStream(evenements);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while((ligne = br.readLine()) != null) {
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(ligne=br.readLine(), "*");
date_ev = tokenizer.nextToken();
objet = tokenizer.nextToken();
System.out.println(date_ev+": "+objet+"\n");
}
br.close();
}
J'ai fais un System.out.prinln dans la boucle while ... mais je n'obtiens qu'une phrase...
merci pour toute votre aide...
alexandre
public static void Affichage_RDV() throws IOException
{
System.out.println("\nVoila vos rendez-vous!\n");
InputStream ips=new FileInputStream(evenements);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while((ligne = br.readLine()) != null) {
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(ligne=br.readLine(), "*");
date_ev = tokenizer.nextToken();
objet = tokenizer.nextToken();
System.out.println(date_ev+": "+objet+"\n");
}
br.close();
}
J'ai fais un System.out.prinln dans la boucle while ... mais je n'obtiens qu'une phrase...
merci pour toute votre aide...
alexandre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
//erreur: java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(ligne=br.readLine(), "*");
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(ligne, "*");
Et puis à quoi ressemble ta ligne?
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(ligne, "*");
Et puis à quoi ressemble ta ligne?
Re!
Franchement vous étes trop super!!! vous me trouver une erreur et paf, c'est bon! vous étes des magiciens du java! :-)
reste plus que mon problème de date mais j'ai trouvé un moyen alternatif...
une dernière chose et je ne vous embetes plus, avez vous une idée pour supprimer une ligne en particulier dans le fichier traité?
par exemple la ligne 3 sur un fichier qui fait 10 lignes...
encore merci! vous étes super!
alexandre
Franchement vous étes trop super!!! vous me trouver une erreur et paf, c'est bon! vous étes des magiciens du java! :-)
reste plus que mon problème de date mais j'ai trouvé un moyen alternatif...
une dernière chose et je ne vous embetes plus, avez vous une idée pour supprimer une ligne en particulier dans le fichier traité?
par exemple la ligne 3 sur un fichier qui fait 10 lignes...
encore merci! vous étes super!
alexandre
Pour supprimer une ligne, moyennant bidouille peut-être: pendant que tu lis ton fichier, tu reconstitues son contenu sans la ligne en question, puis tu le réécris écrasant le contenu du fichier.
Mais comme je te l'ai dit, bidouille. Qq1 aurait une meilleure idée.
;-)))
Mais comme je te l'ai dit, bidouille. Qq1 aurait une meilleure idée.
;-)))
flute!
mon moyen detourné pour la date n'est pas si bon que ça car ça compile et après ça ne marche pas...
voilà ce que je pensais:
InputStream ips=new FileInputStream(contrainte);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(contrainte, "*");
ref1 = tokenizer.nextToken();
ref2 = tokenizer.nextToken();
objet = tokenizer.nextToken();
br.close();
java.util.StringTokenizer tokenizer_date1 = new java.util.StringTokenizer(ref1, "/");
String jour_d = tokenizer.nextToken();
String mois_d = tokenizer.nextToken();
String annee_d = tokenizer.nextToken();
Date date_comp1 = new Date(Integer.parseInt(jour_d),Integer.parseInt(mois_d),Integer.parseInt(annee_d));
java.util.StringTokenizer tokenizer_date2 = new java.util.StringTokenizer(ref2, "/");
String jour_f = tokenizer.nextToken();
String mois_f = tokenizer.nextToken();
String annee_f = tokenizer.nextToken();
Date date_comp2 = new Date(Integer.parseInt(jour_f),Integer.parseInt(mois_f),Integer.parseInt(annee_f));
Vous aviez l'air de savoir pour ma première syntaxe, vous pouvez m'aider (en sachant que ma string de départ est de la forme dd/mm/yy)
meric
alexandre
mon moyen detourné pour la date n'est pas si bon que ça car ça compile et après ça ne marche pas...
voilà ce que je pensais:
InputStream ips=new FileInputStream(contrainte);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(contrainte, "*");
ref1 = tokenizer.nextToken();
ref2 = tokenizer.nextToken();
objet = tokenizer.nextToken();
br.close();
java.util.StringTokenizer tokenizer_date1 = new java.util.StringTokenizer(ref1, "/");
String jour_d = tokenizer.nextToken();
String mois_d = tokenizer.nextToken();
String annee_d = tokenizer.nextToken();
Date date_comp1 = new Date(Integer.parseInt(jour_d),Integer.parseInt(mois_d),Integer.parseInt(annee_d));
java.util.StringTokenizer tokenizer_date2 = new java.util.StringTokenizer(ref2, "/");
String jour_f = tokenizer.nextToken();
String mois_f = tokenizer.nextToken();
String annee_f = tokenizer.nextToken();
Date date_comp2 = new Date(Integer.parseInt(jour_f),Integer.parseInt(mois_f),Integer.parseInt(annee_f));
Vous aviez l'air de savoir pour ma première syntaxe, vous pouvez m'aider (en sachant que ma string de départ est de la forme dd/mm/yy)
meric
alexandre
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(contrainte, "*");
Là, contrainte (File) n'est pas de type String, tu ne peux pas le mettre comme argument de StringTokenizer.
Il faut que tu piques les strings dans le contenu, d'où encore le code de philtrain: String line = br.readLine()
....StringTokenizer(line, "*");
;-))
Là, contrainte (File) n'est pas de type String, tu ne peux pas le mettre comme argument de StringTokenizer.
Il faut que tu piques les strings dans le contenu, d'où encore le code de philtrain: String line = br.readLine()
....StringTokenizer(line, "*");
;-))
voici un petit exemple:
...
FileInputStream in = null;
try {
in = new FileInputStream(monFichier);
}
catch(FileNotFoundException e) {
...
}
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
String line;
try {
while((line = br.readLine()) != null) {
.....
}
catch(IOException e) {
....
}
br.close();
....
a+
la methode marche mais le problème toujours là: je ne lis qu'une seule phrase... (la dernière en l'occurance)
Je pense qu'il faut faire ça avec un for:
for(de la première ligne; à la dernière ligne; ligne d'après)
mais synthaxiquement parlant, je ne vois pas comment faire...
merci!
bonne soirée, alexandre
Insères System.out.println(ligne); le code de philtrain et tu verras:
try {
while((line = br.readLine()) != null) {
System.out.println(line);
}
catch(IOException e) {
....
}
Tu peux manipuler le string line comme tu veux.
Tu peux toutefois penser à un objet linereader - je crois que c'est le nom - mais je connais que son existence.
try{ File inputFile = new File(path+"/FileIn.txt"); //Create the input and output streams FileReader in = new FileReader(inputFile); //Read the file content character by character until its end. //and write it on the screen int c; while ((c = in.read()) != -1) { out.write(c); //NB: you can also show it on screen to know what is happening: //c is an ASCII coded int value, so it has to be typecasted in a character char cr = (char) c; System.out.print(cr); } //Close the streams when the work is finished in.close(); } catch(IOException e){}Plus ça rate, plus on a de chances que ça marche.