IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Fichiers lus et écrits par JAVA


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Fichiers lus et écrits par JAVA
    Bonjour à tous,

    Je voudrais savoir si java peut lire et/ou écrire dans des fichiers autres que des fichiers txt (Cvs, Excel...)

    Mercii de vos réponses

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    On peut lire ou écrire dans n'importe quel type de fichiers en Java. Aussi faut-il entendre ce qu'on appelle lire ou écrire. Un fichier à la base c'est tout d'abord une suite d'octets, et, ça, on peut toujours le lire. Ensuite, certains fichiers représentant certaines données en respectant un format particulier, on veut pouvoir lire ces données en tant que données structurées (comme lire les valeurs des cellules d'un classeur Excel, ou lire les entrées d'un répertoire LDAP, etc), et pour ça il faut pouvoir "comprendre" le format. Il existe en standard, ou en tiers, de nombreuses bibliothèques permettant de lire ou d'écrire dans des fichiers en manipulant des formats particuliers, comme par exemple XML, Png, PDF, Excel, etc... Mais tous les formats ne sont pas forcément accessibles, en particulier lorsqu'ils sont propriétaires et donc que le format n'est pas public (et que le propriétaire ne diffuse pas lui-même une bibliothèque).

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci pour ces explications
    L'idée pour moi c'est de créer un outil qui va lire les valeurs dans des fichiers Excel ou csv et les utiliser pour faire des calculs et produire des fichiers en sortie. Et je voulais savoir si Java faisais très bien l'affaire ou c'est plus simple de le faire avec un autre langage.

  4. #4
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Un programme qui lit un fichier csv (donc texte) et qui produit un fichier de sortie, avec juste ces indications, je dirais que n'importe quel langage ferait l'affaire. Java, bien sur mais aussi n'importe quel autre. Eventuellement, si tu veux pouvoir lire des fichiers Excel (donc non-texte), java propose des librairies pour t'aider comme apache POI.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    CSV est un format texte et connu. Java n'est pas moins bon qu'un autre pour le lire et le traiter. Il y a plein de bibliothèques qui aident à lire et écrire du CSV en Java.

    Pour Excel c'est pas tellement la question du langage utilisé, c'est juste que bon... C'est Excel quoi. Le format de la mort. L'habituelle technologie Microsoft faite pour tout sauf marcher. Il y a des bibliothèques Comme Apache POI capables de lire du Excel en Java, mais pour beaucoup de cas d'usages c'est assez compliqué. Pour le tien, il y a des chances que ça reste assez facile, mais bon, 'faut voir exactement ce que tu dois faire. A l'inverse les choses semblent un peu plus simples en .Net tout simplement parce que .Net utilise le runtime d'Excel. Après 'faut pas se leurrer. Ça a l'air plus simple en .Net. De là à ce que ça le soit quand on veut vraiment qu'il fasse quelque chose de précis c'est une autre histoire.

  6. #6
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Citation Envoyé par thelvin Voir le message
    C'est Excel quoi. Le format de la mort. L'habituelle technologie Microsoft faite pour tout sauf marcher.
    Je dirais : l'outil utilisé pour tout et n'importe quoi et dont les utilisateurs ne se privent pas (pour faire n'importe quoi). Entre les feuilles de compte, les questionnaires, des bases de données, les courriers... C'est vraiment utilisé pour tout, y compris ce pourquoi ce n'est pas du tout adapté.
    Je ne suis pas un grand defenseur de MS mais faut reconnaitre qu'Excel est tellement mal utilisé que tout n'est pas de leur faute. Mais bon, faut reconnaitre que quand on utilise certaines fonctions comme les liaisons entre fichiers, faut pas s'étonner que ce parte en vrille...

    Avant, il y avait des logiciels différents pour différentes taches. Maintenant, il y a Excel pour tout

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Avant, il y avait des logiciels différents pour différentes taches. Maintenant, il y a Excel pour tout
    Et dire que j'en ai connu qui utilisait Excel comme traitement de texte

    Sinon, je confirme, pour bosser depuis quelques mois sur une API import/export Excel pour notre produit, ce "format" c'est l'enfer. Et si Apache POI simplfie un certain nombre de choses, j'ai été obligé de me faire mes propres API par dessus pour plein de chsoes, comme, par exemple, pour créer des formules Excel (pour le formatage conditionnel) sans faire d'AVC

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Et pour les gros volumes de données quel langage est le plus efficace en terme de temps de calculs... Java ou Python?

  9. #9
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Quel est le "gros volume" de données ?
    pour des fichiers CSV avec quelques milliers de lignes, Java ou Python feront largement l'affaire.
    Si tu as des centaines de millier de lignes, tu auras probablement intérêt à passer par une base de données genre MySql qui est faite pour cela.

    Il faut que tu expliques ton projet ... et que tu dises comment les fichiers à lire sont structurés.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Je parlais effectivement des centaines de milliers de lignes.
    En fait mon projet est de créer une application qui aura une interface graphique conviviale, et qui aura comme fonctionnalités d'importer un fichier csv ou un document Excel dans lequel j'aurai des tables de données, et à partir de ces informations effectuer des calculs pour enfin générer des fichiers contenant les résultats de ces calculs.

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    En CSV, en "streaming", ça ne pose pas de problème particulier de faire ça en Java. En XLS, avec Apache POI, c'est déjà plus problématique, mais il y a Excel Streaming Reader.

  12. #12
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Je retiens les éléments suivants :
    - centaines de milliers de lignes
    - fichier csv ou un document Excel
    - tables de données
    - effectuer des calculs
    - générer des fichiers contenant les résultats de ces calculs

    S'il s'agit de faire des comptages, sommes et moyennes d'agrégats (lignes regroupées sur certains critères)
    alors, il faudra utiliser une base de données avec :
    - importation des fichiers
    - calcul par la base de données
    - export au format que tu veux

    MySql ou n'importe quelle autre base fera cela très bien et le langage SQL n'est pas très compliqué.
    Les SGBD ont une vision ensembliste des données et peuvent facilement traiter des millions de lignes ... ce qui serait très ardu de faire en Java.

    Par contre, tu peux très bien piloter toute l'application à partir d'écrans en Java de sorte que l'utilisateur ne sait pas qu'il y a une base de données sous-jacente.

    Voilà pour le principe général, après, il faut encore rentrer dans le détail ...

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci pour vos réponses c'est à peu près ce que je cherchais, je voulais justement savoir s'il y avait possibilité de réaliser les interfaces en java et le moteur de calcul et les opérations sur les tables dans un autre environnement du type SAS, Access..Il me reste maintenant à creuser du côté de la relation entre java et ce type d'environnements

  14. #14
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Il faut pas utiliser Access avec Java faute de driver avec les versions récentes.
    Ou alors tu fais tout en Access : base + programmation ; ça marche aussi mais tu seras limité dans la capacité.

Discussions similaires

  1. supprimer un fichier excel du disque par java
    Par amine1980 dans le forum Documents
    Réponses: 2
    Dernier message: 31/12/2008, 15h51
  2. Fichier écrit par java invisible ds l'explorateur vista
    Par LeGritche dans le forum Windows Vista
    Réponses: 11
    Dernier message: 20/07/2007, 15h24
  3. Réponses: 3
    Dernier message: 27/02/2007, 20h35
  4. lire un fichier binaire écrit en java
    Par alex'l dans le forum C++
    Réponses: 13
    Dernier message: 31/01/2007, 21h47
  5. Fichier .ini/paramétrage d'application java par l'user
    Par devjav dans le forum Général Java
    Réponses: 14
    Dernier message: 30/03/2006, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo