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

C# Discussion :

Problème de conversion Java/C# pour le chargement d'un fichier [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2018
    Messages : 25
    Par défaut Problème de conversion Java/C# pour le chargement d'un fichier
    Bonjour à tous,
    Je suis débutant en C# et je suis en train de traduire du code java en C#.
    Heureusement qu'il y a beaucoup de ressemblance entre les deux langages, ça permet de recoller les morceaux un peu plus facilement

    Je vous sollicite car j'ai un souci avec la lecture de fichier.
    Voilà le code Java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Properties prop = new Properties();
            InputStream input = getClass().getClassLoader().getResourceAsStream(file);
            if (input != null) {
                prop.load(input);
            } else {
                throw new FileNotFoundException("Fichier introuvable");
            }
    Et voilà le code C# que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                Properties prop = new Properties();
                Assembly assembly = Assembly.GetExecutingAssembly();
                TextReader textReader = new StreamReader( assembly.GetManifestResourceStream( file ) );
                if (textReader != null)
                { prop.load( textReader );
                }
                else {
                    throw new FileNotFoundException( "Fichier introuvable" );
                }
    Mon problème est le suivant. Je crée une instance Properties de la classe java.util et je lis mon fichier avec System.IO
    Du coup la compil me renvoie une erreur au niveau de la méthode load() car il n'est pas possible de convertir System.IO.TextReader avec java.io.Reader

    J'avoue que c'est la première fois que je traite des fichiers, du coup je me suis perdu sur les forums et au final je ne comprends plus

    Est-ce que quelqu'un aurait une solution pour mon souci?
    Et si possible une petite explication, parce que je pense que rien n'est plus formateur que de comprendre au lieu de copier-coller bêtement

    Merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    C'est bien plus simple en C#
    Regarde la doc concernant l'utilisation de StreamReader :
    https://docs.microsoft.com/fr-fr/dot...ew=netcore-3.1

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2018
    Messages : 25
    Par défaut
    Citation Envoyé par Krantz Voir le message
    C'est bien plus simple en C#
    Regarde la doc concernant l'utilisation de StreamReader :
    https://docs.microsoft.com/fr-fr/dot...ew=netcore-3.1
    Merci pour ta réponse

    J'ai lu un peu de doc, mais pas sur le StreamReader car sur les forums j'avais d'abord trouvé des choses avec Assembly et TextReader.
    Je ne savais pas que l'on pouvait utiliser using en plein milieu d'une classe, je pensais qu'il était réservé aux import de librairies.

    Du coup je me retrouve avec 2 possibilités, je vais pouvoir tester ça.
    Pendant que j'y suis, quitte à apprendre, autant faire les choses bien, est-ce qu'il y a des bonnes pratiques de code en ce qui concerne l'utilisation de fichiers?
    Par exemple, est-ce qu'on utilise plus l'asynchrone ou pas? Est-ce que le mot clé await est une bonne pratique si on veut de la performance?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    Le using permet de s'abstenir d'un close et d'un dispose en fin de traitement, l'instance du StreamReader n'existant que dans le bloc using.
    Le choix de travailler en synchrone ou en asynchrone dépend de la finalité du programme. Par exemple tu ne vas pas travailler en asynchrone si tu as besoin du résultat d'un premier traitement pour lancer le suivant, ou si dans le cadre d'une simple moulinette tes différents traitements consistent en une succession de lectures/écritures de fichiers.
    L'asynchrone va être utilisé pour une interface utilisateur afin que le programme ne semble pas bloqué pendant un traitement dont on peut se dispenser du résultat immédiat.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2018
    Messages : 25
    Par défaut
    Merci beaucoup pour avoir pris le temps de me répondre et de m'avoir apporter des explications

    Je vais passer cette discussion à résolue pour éviter qu'elle ne traîne trop longtemps

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de conversion d'accent pour réécriture d'url
    Par lelectronique.com dans le forum Langage
    Réponses: 0
    Dernier message: 17/02/2013, 09h01
  2. Réponses: 5
    Dernier message: 31/03/2011, 11h07
  3. Réponses: 7
    Dernier message: 07/03/2011, 15h37
  4. Réponses: 4
    Dernier message: 10/09/2007, 19h23
  5. [Axis]Problème de conversion de xsd:nil en objet java
    Par caro_a dans le forum Services Web
    Réponses: 2
    Dernier message: 09/02/2007, 13h53

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