• # Roooo

    Posté par  . Évalué à 4.

    Tu n'as pas honte ? c'est un petit peu un cas d'école ça non ?
  • # Roo la suite en python

    Posté par  (site web personnel) . Évalué à 0.

    # Je sais, il y a plus simple
    import sys
    count = 0

    f = open(sys.argv[1],"r")
    for line in f: count += 1

    print "Le fichier fait %d lignes" % count
    f.close()


    PYTHON RULEZ !!

    :D
    • [^] # Re: Roo la suite en python

      Posté par  (site web personnel) . Évalué à 2.

      Mais enfin !!
      Il ya beaucoup plus simple !!!

      try {
      Runtime.getRuntime().exec("perl -e 'system("wc -l monfichier");'");
      } catch (IOException t) { }
  • # wc ?

    Posté par  (site web personnel) . Évalué à 0.

    man wc ?
  • # meuh

    Posté par  (site web personnel) . Évalué à 2.

    Cas d'école dit binarym... c'est mal connaitre la lourdeur de Java :)

    Bon j'utilise l'indispensable inputStreamToBytes que je mets ci-devant :

        public static byte[] inputStreamToBytes( InputStream is )
             throws IOException {
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
             byte[] buffer = new byte[4096];
             int n;
             while ( ( n = is.read( buffer ) ) != -1 ) {
                 baos.write( buffer, 0, n );
             }
             return baos.toByteArray();
        }

    Et du coup ça donne (je splitte pas sur plusieurs lignes, je peux pas aligner ici vu que le monospace est interdit) :

        System.out.println( new String( inputStreamToBytes( new FileInputStream( "/tmp/subscriptions.csv" ) ), "ISO-8859-1" ).split( "\n" ).length );

    Java sux.
    • [^] # Re: meuh

      Posté par  . Évalué à 2.

      Un petit effort voyons!!
      public static void main(final String[] args) {
        try {
          BufferedReader br = new BufferedReader(new FileReader(args[0]));
          int c;
          for (c=0;br.readLine() != null;c++);
          br.close();
          System.out.println("Lines:"+c);
        } catch (IOException ex) {
          ex.printStackTrace();
          System.exit(1)
        }
      }
      

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.