Skip to content

abarhub/filerw

Repository files navigation

Filerw

Latest release Build Status Codecov Build workflow Maven Central javadoc

File read write with enum class

Dépendance Maven

<dependency>
  <groupId>com.github.abarhub.filerw</groupId>
  <artifactId>filerw</artifactId>
  <version>1.0.0</version>
</dependency>

Javadoc

Javadoc version 1.0.0

Javadoc version 0.2.0

Javadoc version 0.1.0

Javadoc version 0.27

Explication

Documentation

version 0.1.0 : compatible avec java 8

Pour l'utiliser avec une version inferieur à java 5, il faut utiliser une version inférieure à la version 0.1.0.

Exemple d'utilisation

Pour un fichier avec le format suivant :

Nom du champs position sur une ligne taille de la ligne
nom 0 30
prenom 30 30
date de naissance 60 8

Le séparateur est le retour à la ligne.

Exemple de fichier:

Newton                        Isaac                         04011643
Einstein                      Albert                        14103879
Copernic                      Nicolas                       19021473

Voici la classe pour définir le format du fichier :

public enum FormatPersonnes implements Field {
	Nom(0, 30), Prenom(30, 30), DateNaissance(60, 8);

	private FieldsListChamps(int position, int length) {
		this.position = position;
		this.length = length;
	}

	public int getLength() {
		return length;
	}

	public int getPosition() {
		return position;
	}

	private int position;
	private int length;
}

Voici la classe pour lire et écrire ce fichier :

public class LectureEcriturePersonnes{

	public void lecture(File f,File f_out) throws URISyntaxException, FileNotFoundException,
			IOException, ParseException {
		ReadWriteText<FieldsListChamps1> lecture;
		FileContentText<FieldsListChamps1> fichier;
		
		// lecture du fichier f
		System.out.println("Lecture du fichier " + f.getPath() + " :");
		lecture = new ReadWriteText<FieldsListChamps1>(f,FormatPersonnes.class);
		fichier = lecture.readFile();
		
		// affichage du contenu du fichier
		fichier.show();
		
		// ecriture du fichier vers f_out
		System.out.println("Ecriture du fichier " + f_out.getPath());
		lecture.writeFile(f_out, fichier);
	}

}

Licence

Le code est sous licence Apache Licence v2.