begin process at 2010 03 21 17:29:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > RANDOMACCESSFILE ET BUFFEREDREADER, ECRIRE, LIRE, MODIFIER ET RECHERCHER DANS UN FICHIER

RANDOMACCESSFILE ET BUFFEREDREADER, ECRIRE, LIRE, MODIFIER ET RECHERCHER DANS UN FICHIER


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Application Classé sous :aléatoire, random, rechercher, lire, écrire Niveau :Débutant Date de création :31/08/2002 Date de mise à jour :31/08/2002 19:17:30 Vu :11 137

Auteur : polz

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description


Source

  • /*********************************************************
  • Nom du programme : ExerciceFichier.java
  • Auteur : Zufferey Matthieu
  • Date : 30.08.2002
  • Description : C'est un exercice sur les fichiers
  • Préconditions : Aucune
  • /********************************************************/
  • import java.io.* ;
  • import java.util.* ;
  • public class Exercice
  • {
  • public static void main(String[] args) throws IOException
  • {
  • File fichier = new File("employe.txt") ;
  • RandomAccessFile donnee = new RandomAccessFile(fichier, "rw") ;
  • int numero = 0 ;
  • int choix = 0 ;
  • int compteur = 1 ;
  • double moyenne = 0 ;
  • double newSalaire = 0 ;
  • boolean sortie = false ;
  • donnee.writeInt(compteur) ;
  • donnee.writeChar(' ') ;
  • donnee.writeUTF("Patolachi") ;
  • donnee.writeChar(' ') ;
  • donnee.writeUTF("Marcel") ;
  • donnee.writeChar(' ') ;
  • donnee.writeDouble(5500.00) ;
  • donnee.writeChar('\n') ;
  • BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;
  • do
  • {
  • do
  • {
  • try
  • {
  • System.out.println("Menu") ;
  • System.out.println("====\n") ;
  • System.out.println("1. Afficher les donnees") ;
  • System.out.println("2. Calculer le salaire moyens") ;
  • System.out.println("3. Ajouter un employe") ;
  • System.out.println("4. Modifier le salaire d'un employe") ;
  • System.out.println("5. Quitter") ;
  • choix = Integer.parseInt(in.readLine()) ;
  • }
  • catch(NumberFormatException e)
  • {}
  • }
  • while(choix < 1 || choix > 5) ;
  • switch(choix)
  • {
  • case 1 :
  • {
  • System.out.println() ;
  • donnee.seek(0) ;
  • for (int i = 0 ; i < compteur ; i++)
  • {
  • try
  • {
  • System.out.print(donnee.readInt()) ;
  • System.out.print(donnee.readChar()) ;
  • System.out.print(donnee.readUTF()) ;
  • System.out.print(donnee.readChar()) ;
  • System.out.print(donnee.readUTF()) ;
  • System.out.print(donnee.readChar()) ;
  • System.out.print(donnee.readDouble()) ;
  • System.out.print(donnee.readChar()) ;
  • }
  • catch(EOFException e)
  • {}
  • }
  • System.out.println() ;
  • }
  • break ;
  • case 2 :
  • {
  • System.out.println() ;
  • moyenne = 0 ;
  • donnee.seek(0) ;
  • for (int i = 0 ; i < compteur ; i++)
  • {
  • try
  • {
  • donnee.readInt() ;
  • donnee.readChar() ;
  • donnee.readUTF();
  • donnee.readChar() ;
  • donnee.readUTF() ;
  • donnee.readChar() ;
  • moyenne += donnee.readDouble() ;
  • donnee.readChar() ;
  • }
  • catch(EOFException e)
  • {}
  • }
  • System.out.println("La moyenne des salaires est de : " + (moyenne/compteur)) ;
  • System.out.println() ;
  • }
  • break ;
  • case 3 :
  • {
  • System.out.println() ;
  • donnee.seek(donnee.length()) ;
  • compteur += 1 ;
  • try
  • {
  • donnee.writeInt(compteur) ;
  • donnee.writeChar(' ') ;
  • System.out.println("Entrez le nom du nouvel employe") ;
  • donnee.writeUTF(in.readLine()) ;
  • donnee.writeChar(' ') ;
  • System.out.println("Entrez le prenom du nouvel employe") ;
  • donnee.writeUTF(in.readLine()) ;
  • donnee.writeChar(' ') ;
  • System.out.println("Entrez le salaire du nouvel employe") ;
  • donnee.writeDouble(Double.parseDouble(in.readLine())) ;
  • donnee.writeChar('\n') ;
  • }
  • catch(EOFException e)
  • {}
  • System.out.println() ;
  • }
  • break ;
  • case 4 :
  • {
  • System.out.println() ;
  • donnee.seek(0) ;
  • do
  • {
  • System.out.println("Entrez le numero de l'employe a qui vous voulez change le salaire") ;
  • numero = Integer.parseInt(in.readLine()) ;
  • }
  • while(numero < 0 || numero > compteur) ;
  • System.out.println("Entrez le montant du nouveau salaire") ;
  • newSalaire = Double.parseDouble(in.readLine()) ;
  • int numDonnee = 0 ;
  • try
  • {
  • for (int i = 0 ; i < compteur ; i++)
  • {
  • numDonnee = donnee.readInt() ;
  • if(numero == numDonnee)
  • {
  • donnee.readChar() ;
  • donnee.readUTF() ;
  • donnee.readChar();
  • donnee.readUTF() ;
  • donnee.readChar() ;
  • donnee.writeDouble(newSalaire) ;
  • donnee.readChar() ;
  • }
  • else
  • {
  • donnee.readChar() ;
  • donnee.readUTF() ;
  • donnee.readChar();
  • donnee.readUTF() ;
  • donnee.readChar() ;
  • donnee.readDouble() ;
  • donnee.readChar() ;
  • }
  • }
  • }
  • catch(EOFException e)
  • {}
  • System.out.println() ;
  • }
  • break ;
  • case 5 :
  • {
  • System.out.println() ;
  • sortie = true ;
  • }
  • break ;
  • }
  • }
  • while(sortie != true) ;
  • System.exit(0) ;
  • }
  • }
/*********************************************************

	Nom du programme :	ExerciceFichier.java
	Auteur :			Zufferey Matthieu
	Date :				30.08.2002
	Description :		C'est un exercice sur les fichiers
	Préconditions :		Aucune


/********************************************************/

import java.io.* ;
import java.util.* ;

public class Exercice
	{
	public static void main(String[] args) throws IOException
		{
		File fichier = new File("employe.txt") ;

		RandomAccessFile donnee = new RandomAccessFile(fichier, "rw") ;
		int numero = 0 ;
		int choix = 0 ;
		int compteur = 1 ;
		double moyenne = 0 ;
		double newSalaire = 0 ;
		boolean sortie = false ;
		
		donnee.writeInt(compteur) ;
		donnee.writeChar(' ') ;
		donnee.writeUTF("Patolachi") ;
		donnee.writeChar(' ') ;
		donnee.writeUTF("Marcel") ;
		donnee.writeChar(' ') ;
		donnee.writeDouble(5500.00) ;
		donnee.writeChar('\n') ;
		
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;
		

		
		do
			{		
			do
				{
				try
					{
					System.out.println("Menu") ;
					System.out.println("====\n") ;
					System.out.println("1. Afficher les donnees") ;
					System.out.println("2. Calculer le salaire moyens") ;
					System.out.println("3. Ajouter un employe") ;
					System.out.println("4. Modifier le salaire d'un employe") ;
					System.out.println("5. Quitter") ;		
					choix = Integer.parseInt(in.readLine()) ;
					}
				catch(NumberFormatException e)
					{}
				}
			while(choix < 1 || choix > 5) ;

			switch(choix)
				{
				case 1 :
					{
					System.out.println() ;	
						
					donnee.seek(0) ;
					
					for (int i = 0 ; i < compteur ; i++)
						{
						try
							{
								System.out.print(donnee.readInt()) ;
								System.out.print(donnee.readChar()) ;
								System.out.print(donnee.readUTF()) ;
								System.out.print(donnee.readChar()) ;
								System.out.print(donnee.readUTF()) ;
								System.out.print(donnee.readChar()) ;
								System.out.print(donnee.readDouble()) ;
								System.out.print(donnee.readChar()) ;					
							}
						catch(EOFException e)
							{}
						}
										
					System.out.println() ;
					}				
				break ;
	
				case 2 :
					{
					System.out.println() ;	
					moyenne = 0 ;	
					donnee.seek(0) ;
					
					for (int i = 0 ; i < compteur ; i++)
						{
	
						try
							{
								donnee.readInt() ;
								donnee.readChar() ;
								donnee.readUTF();
								donnee.readChar() ;
								donnee.readUTF() ;
								donnee.readChar() ;
								moyenne += donnee.readDouble() ;
								donnee.readChar() ;					
							}
						catch(EOFException e)
							{}
						}
					
					System.out.println("La moyenne des salaires est de : " + (moyenne/compteur)) ;
										
					System.out.println() ;
					}				
				break ;
	
				case 3 :
					{
					System.out.println() ;	
						
					donnee.seek(donnee.length()) ;
					compteur += 1 ;
					
					try
						{
							donnee.writeInt(compteur) ;
							donnee.writeChar(' ') ;
							System.out.println("Entrez le nom du nouvel employe") ;
							donnee.writeUTF(in.readLine()) ;
							donnee.writeChar(' ') ;
							System.out.println("Entrez le prenom du nouvel employe") ;
							donnee.writeUTF(in.readLine()) ;
							donnee.writeChar(' ') ;
							System.out.println("Entrez le salaire du nouvel employe") ;
							donnee.writeDouble(Double.parseDouble(in.readLine())) ;
							donnee.writeChar('\n') ;					
						}
					catch(EOFException e)
						{}
										
					System.out.println() ;
					}				
				break ;

				case 4 :
					{
					System.out.println() ;	
						
					donnee.seek(0) ;
					
					do
						{
						System.out.println("Entrez le numero de l'employe a qui vous voulez change le salaire") ;
						numero = Integer.parseInt(in.readLine()) ;
						}
					while(numero < 0 || numero > compteur) ;
					
					System.out.println("Entrez le montant du nouveau salaire") ;
					newSalaire = Double.parseDouble(in.readLine()) ;
					
					int numDonnee = 0 ;
					
					try
						{
						for (int i = 0 ; i < compteur ; i++)
							{
							numDonnee = donnee.readInt() ;	
									
							if(numero == numDonnee)
								{
								donnee.readChar() ;
								donnee.readUTF() ;
								donnee.readChar();
								donnee.readUTF() ;
								donnee.readChar() ;
								donnee.writeDouble(newSalaire) ;
								donnee.readChar() ;	
								}
							else
								{
								donnee.readChar() ;
								donnee.readUTF() ;
								donnee.readChar();
								donnee.readUTF() ;
								donnee.readChar() ;
								donnee.readDouble() ;
								donnee.readChar() ;								
								}	
							}			
						}
					catch(EOFException e)
						{}
										
					System.out.println() ;
					}				
				break ;
				
				case 5 :
					{
					System.out.println() ;	
					sortie = true ;	
					}				
				break ;	
				
				}
			}
		while(sortie != true) ;
	

		System.exit(0) ;	
		}
	}



 Sources du même auteur

Source avec Zip QUICK MESSENGER V 1.O - PETITS MESSAGES RAPIDES
Source avec Zip BATAILLE NAVALE CONSOLE
CREER DES EXECUTABLE JAVA
Source avec Zip APPLET PASSWORD
Source avec Zip Source avec une capture DÉMINEUR SUR LA CONSOLE

 Sources de la même categorie

Source avec Zip Source avec une capture SITE DES ANNONCES EN J2EE par TUIRIK
Source avec Zip Source avec une capture BANANA SPLIT par roiDesBranleurs
Source avec une capture ENVOIE DES SMS VIA LES COMMANDES AT par ingenioura
Source avec Zip ANALYSEUR DE PROXY IRC ET HTTP AVEC UNE INTERFACE GRAPHIQUE par sisisousou
Source avec Zip Source avec une capture "PROGRAMMEUR", EST UN PROGRAMME QUI PERMET DE TAPER QUELQUE ... par edouard333

 Sources en rapport avec celle ci

LIRE LES FICHIERS .WAV par Julien39
Source avec Zip Source avec une capture JEU DE L'ANAGRAM AVEC TRI ALEATOIRE DES CARACTERES par Cornellus1985
Source avec Zip Source avec une capture UN APPLET GÉNÉRATEUR DE LABYRINTHES ALÉATOIRES par coucou747
Source avec Zip Source avec une capture MEMORYGAME par dahsam
LIRE ET ÉCRIRE UN FICHIER BMP par indiana_jules

Commentaires et avis

Commentaire de spidermax55 le 23/07/2003 15:47:12

Dans ton code, ta méthode double.parseDouble ne fonctionnne pas chez moi, il faut plutot mettre Double.parseDouble !! C'est intéressant comme programme, puisque j'essaye en ce moment d'es faire un comme ça, mais dans une interface graphique.Au lieu d'un randomAccessFile, j'ai essayé avec un File et un objet Vector, qui marche à moitié...Est ce que ton code permet de modifier aussi le nom et le prénom ?

Commentaire de polz le 26/07/2003 13:39:44

Ben en fait, tu reprends juste la méthode de modification du salaire et tu y changes les paramètres. Sinon, il y a un autre moyen qui consiste à écrire un objet dans un fichier (ca peut etre un vecteur ou autre chose). Si tu veux, je peux t'envoyer un code

Commentaire de spidermax55 le 28/07/2003 10:25:04

J'ai un problème avec cette classe Exercice, vu que je voudrais conserver le fichier dans lequel on a ajouté des éléments, alors que tu crées un nouveau fichier à chaque fois. N'y a-t-il pas un moyen de remédier à ce problème, tout en gardant un RandomAccessFile? J'ai essayé avec un FileInputstream, mais c'est pas compatible, malheureusement... Merci de ton aide

Commentaire de waddle le 25/11/2004 10:54:48

ouais...enfin c de C quoi....t'as le droit de faire de l'objet aussi avec un langage objet....

waddle

--
EPITA Student
Promo 2006

Commentaire de indo__ le 29/11/2004 02:55:47

c tres procedural :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

lire et écrire dans un fichier texte [ par elmoudene ] bonjour, tout d'abors je suis qu'un débutant en JAVA, et j'aimerai bien que vous m'aider a faire un petit programme qui me permet d'ecrire et lire dan lire et écrire une matrice ligne par ligne dans un fichier texte en java [ par hibaw ] bonjour a tous,je cherche comment  dans un code_source je dois écrire (c à dire enregistrer) une matrice de réel exemple : mat =[ 0   1.2   3    4;    La Classe Scanner [ par SirShinobi ] Salut,J'ai lu les anciens sujets et je n'ai pas trouvé une réponse clair à ma question.Je veux savoir comment utiliser la classe scanner :-Pour lire u Math.random() en java [ par nicegirle ] bnjr , svp je suis entrain de developper une applet ,contenant un cerle qui se deplace dans mon applet tout en changeant  le rayon, le problème c est lire un fichier texte à partire d'une ligne précice . [ par mermad ] Bonjour tout le monde,je sais comment lire un fichier texte en java mais je ne sais pas comment lire à partir d'une ligne précise, la dixième ligne pa Lire le contenu d'un pdf (contenant un code barre) avec itext [ par byob ] Bonjour, j'ai utilisé la lib d'itext pour creer un pdf avec un code barre : Document document = this.barCode.getDocument();            PdfWriter write lire et ecrire dans fichier texte en java [ par saif87 ] Bonjour,je veut une aide a propos des fichier en java je veut sauvegarder mon travail dans un fichierexemple l'utilisateur entre le nom ,prénom,age... lire ligne par ligne le contenu d'un JTextArea [ par bilal86 ] Bonjour j'ai quelque questions , comme le titre indiqué, quand j'ai fait la recherche sur internet ils disent que pour récupérer le contenu d'une seul Départ d'une application [ par chris081 ] Bonjour Je suis relativement nouveau comparé à ce que j'ai pu lire comme réponses sur ce site. Je voudrais savoir si c'est possible de faire une appi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales