begin process at 2012 02 11 14:44:46
  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 :12 930

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 [J2ME] MAILXPRESS, UNE PETITE APPLICATION D'ENVOI DE MAIL ÉC... par doderic
Source avec Zip CLIENT ET SERVEUR DE MESSAGERIES par lemout
Source avec Zip Source avec une capture NAVIGATEUR HTTP par lemout
Source avec Zip Source avec une capture PROGRAMME DE PARTAGE DE FICHIER EN RESEAUX par billatosco
Source avec Zip JET SPRING JSF PRIMEFACES par mendjijet

 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 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;    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 un enregistrement d'une ligne précédente [ par ulysse00 ] salut mes amis j'ai un probleme avec ma table ma table continent trois colonne avec 5 ligne premiere colonne contiennt AA BB C deuxieme colonne contie Problème USB dans Mandrake [ par yayamo ] Bonjour tous le monde,   En fait, j'ai un problème pour  lire le contenu de  lecture de disquette Clés USB sa Lire une video à partir d'un tableau de byte [ par shindara38 ] Bonjour à tous,je suis actuellement en train de développer une application java, qui doit se connecter à une base de données postgre. J'aimerai pouvoi lire cd audio avec jmf [ par offspring7786 ] slt Je dois faire une appli qui permet de lire un cd audiopour l'instant j'y arrive mais il ne lit qu'une seule chansonJe voudrai savoir comment on fa utilisation de la méthode random [ par hajeur_abd ] salutje veux utiliser la methode random() de telle façon que j'avoir une valeur dans l'intervalle [-10,10].j'ai consulté l'aide mais j'etait pas satis [JAVA] Comment lire un fichier BTR en JAVA [ par nobeone ] Bonjour,je souhaiterais savoir comment on lit un fichier BTR sous JAVA?Est ce qu'il y a des bibliothèque JAVA existante?Sachant qu'un fichier BTR vien Lire des images tiff [ par FiReTiTi ] Bonjour,je souhaite lire de images TIFF, mais je ne sais pas comment faire.J'ai téléchargé imagero, mais je n'ai pas compris comment l'utiliser.Est ce cherche indication [ par chabouhsami ] bijourrrr!!!je suis en train de programmer un jeu de carte, Dame de Pique. et je voudrais faire un choix aleatoir, pour distribuer les cartes a mes jo


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,998 sec (4)

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