Live geek or die tryin'

Java: Lire Et écrire Des Fichiers

Bonjour,

Lors de la résolution d’un problème en Java, j’ai dû récupérer une chaîne de caractères à partir d’un fichier, et la parser dans un autre après l’avoir modifié.

Il y a plusieurs techniques pour le faire, je vais vous présenter la mienne que j’ai assimilé après avoir lu pas mal de forums et de documentations.

Lecture:

try {
    File fileIn = new File("file.in"); //ouverture du fichier
    FileInputStream fis = new FileInputStream(fileIn);
    byte[] buffer = new byte[fis.available()]; //Récupération du contenu du fichier dans une variable de type byte
    fis.read(buffer); //Lecture du contenu de la variable buffer
    stringIn = new String(buffer); //On parse le contenu de buffer dans notre chaîne
    fis.close(); //Fermeture du fichier
} catch(Exception e) {
    e.printStackTrace();
}

Écriture:

try {
    File fileOut= new File("file.out"); //Overture du fichier
    FileOutputStream fos = new FileOutputStream(fileOut);
    fos.write( stringOut.getBytes() ); //On parse le contenu de la chaîne qu'on converti d'abord en variable de type byte
    fos.close(); //Fermeture du fichier
} catch(Exception e) {
    e.printStackTrace();
}

J’apprends Le C ! :p

Salut !

Bah l’été commence, et j’ai eu l’idée de reprendre le C.
Je viens de commencer la révision de la partie console du SdZ (le lien à droite).

Quand j’avais fini tout le cours, j’avais codé une calculette, en me basant sur tout ce que j’avais appris. :)

Voici son code source :

#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
  long oper;
  float n1, n2, resul, df;


  while(1)
  {

  printf("  ==== Calculette par sqmy_- ====\n\n");
  printf(" Choisissez le type d'operation a executer:\n");
  printf("  1. Addition\n");
  printf("  2. Soustraction\n");
  printf("  3. Multiplication\n");
  printf("  4. Division\n");
  printf("  5. Puissance\n");
  printf("  6. Carre\n");
  printf("  7. Racine carree\n");
  printf("  8. Sinus\n");
  printf("  9. Cosinus\n");
  printf(" 10. Tangente\n");
  printf(" 11. Quitter\n\n");
  printf(" Que voulez vous faire?  ");
  scanf("%ld", &oper;);
  printf("\n\n");


  switch(oper)
  {
  case 1:
      printf(" Veuillez rentrer le premier nombre:  ");
      scanf("%f", &n1;);
      printf(" Veuillez rentrer le deuxieme nombre:  ");
      scanf("%f", &n2;);
      resul = n1 + n2;
      printf(" \nResultat:  %f + %f = %f\n\n\n\n\n\n", n1, n2, resul);
      break;
    case 2:
      printf(" Veuillez rentrer le premier nombre:  ");
      scanf("%f", &n1;);
      printf(" Veuillez rentrer le deuxieme nombre:  ");
      scanf("%f", &n2;);
      resul = n1 - n2;
      printf(" \nResultat:  %f - %f = %f\n\n\n\n\n\n", n1, n2, resul);
      break;
    case 3:
      printf(" Veuillez rentrer le premier nombre:  ");
      scanf("%f", &n1;);
      printf(" Veuillez rentrer le deuxieme nombre:  ");
      scanf("%f", &n2;);
      resul = n1 * n2;
      printf(" \nResultat:  %f x %f = %f\n\n\n\n\n\n", n1, n2, resul);
      break;
  case 4:
        printf(" Veuillez rentrer le nombre a diviser:  ");
        scanf("%f", &n1;);
              do
              {
                    printf(" Veuillez rentrer le nombre diviseur:   ");
                    scanf("%f", &n2;);
                    if(n2 == 0)
                    {
                    printf(" Erreur! division par 0 impossible!\n\n");
                    }
              }while(n2 == 0);
        resul = n1 / n2;
        printf(" Resultat: %f : %f = %f\n\n\n\n\n\n", n1, n2, resul);
        break;
  case 5:
        printf(" Veuillez rentrer le nombre dont vous voulez calculer la puissance:   ");
        scanf("%f", &n1;);
        printf(" Veuillez rentre la puissance:   ");
        scanf("%f", &n2;);
        resul = pow(n1, n2);
        printf(" La puissance de %f est %f\n\n\n\n\n\n", n1, resul);
  case 6:
        printf(" Veuillez rentrer le nombre dont on va calculer le carre:   ");
        scanf("%f", &n1;);
        resul = pow(n1, 2);
        printf(" Le carre de %f est %f\n\n\n\n\n\n", n1, resul);
        break;
  case 7:
        printf(" Veuillez le nombre dont vous voulez calculer la racine carree:   ");
        scanf("%f", &n1;);
        resul = sqrt(n1);
        printf(" La racine carree de %f est %f\n\n\n\n\n\n", n1, resul);
        break;
  case 8:
        printf(" Veuillez rentrer le degre dont vous voulez calculer le sinus:   ");
        scanf("%f", &n1;);
        resul = sin(n1);
        printf(" Le sinus de %f est %f\n\n\n\n\n\n", n1, resul);
        break;
  case 9:
        printf(" Veuillez rentrer le nombre dont vous voulez calculer le cosinus:   ");
        scanf("%f", &n1;);
        resul = cos(n1);
        printf(" Le cosinus de %f est %f\n\n\n\n\n\n", n1, resul);
        break;
  case 10:
        printf(" Veuillez rentrer le nombre dont vous voulez calculer la tangente:   ");
        scanf("%f", &n1;);
        resul = tan(n1);
        printf(" La tangent de %f est %f\n\n\n\n\n\n", n1, resul);
        break;
  case 11:
        printf(" Au revoir! :)\n\n\n\n\n\n");
        system("PAUSE");
        return 0;
        break;


  }



  }
  system("PAUSE");
  return 0;
}

Gz Dinduks.

Crysis : Tweak ZakZak

Bonjour.

Je vous présente un tweak pour Crysis qui améliore nettement le nombre de FPS sous Crysis et la qualité graphique du jeu, et qui peut être utilisé sur tout type de configs.
Je viens de jouer un peu avec le tweak et il déchire vraiment, en plus j’ai des effet kikoolol à la DX10. Je joue en High-Very.
Cependant j’ai overclocké ma X1950Pro à 635Mhz pour le GPU (581 d’origine) et 1540Mhz pour la mémoire (1400 d’origine). Mais je ne pense pas que cet o/c a un très grand rôle dans le grand gain de FPS.

Voici quelques screenshots:

Le topic officiel du tweak, le lien pour le télécharger et la méthode d’installation sont ici.

Crysis : Avoir Les Voix De La Nano Suit en Anglais

J’ai bidouillé un peu et j’ai pu avoir les voix de la nano suit in english :

1- Aller dans le dossier /game/localized/ du repértoire du jeu.
2- Ouvrir le fichier English.pak avec winrar ou un logiciel similaire.
3- Aller dans /languages/dialog/
4- Sauvegarder le dossier suit quelque part. Vous pouvez fermer English.pak.
5- Ouvrir le fichier French.pak dans le dossier /game/localized/ du repertoire du jeu avec winrar ou un logiciel similaire.
6- Aller dans /languages/dialog/
7- Remplacer le dossier suit par celui qu’on a sauvegardé dans l’étape 4.

Si vous n’aviez pas installé les voix anglaises, téléchargez le dossier suit en cliquant ici.

That’s all.

Enjoy !

CSPromod: Le Dossier

Bonjour. :)

J’ai essayé de regrouper dans cet article toutes les informations concernant CSPromod.

Présentation

CSPromod est un mod de HL², donc basé sur le Source Engine, avec le gameplay de CS 1.3/1.5/1.6.
Son but c’est de créer la version de Counter-Strike la plus competitive, la plus spectaculaire, et la plus réussie graphiquement.

Les nouveautés de CSPromod

  • Seules les armes de compétitions seront disponibles. On a le choix alors qu’entre le glock, deagle, usp, m4a1, ak47, famas, galil et l’awp. :)
  • Les modèles, animations, et sons en général seront ceux de CS : Source, pour des raisons légales et pour donner un maximum de chance au mod de pouvoir être utilisé à la télévision.
  • Les armes ont un comportement se situant entre CS 1.5 et CS 1.6.
  • L’AWP aura le même comportement que sur CS 1.6, avec la possibilité de faire des quick ou fastscopes comme sur cette version. Le zoom sera instantané comme sur CS 1.6.
  • Le mod consommera beaucoup moins de ressources que CS:Source, même sur des maps CSS (le mod est capable de retirer les objets de type barrils, caisses, tonneaux). Il y aura une augmentation effective de FPS d’au moins 20.
  • Une CSP-TV est prévue pour le futur.
  • Les flashbangs se comportent comme sur CS 1.6 (effet à l’ancienne et pas de bruit assourdissant)
  • Le netcode de CS:S sera utilisé dans un premier temps, avant d’être remplacé dans de futures mises à jour.
  • Il sera possible de lancer des grenades par dessus les murs sur les maps CSP_, comme sur CS 1.6.
  • Les mouvements seront dans un premier temps ceux de CS 1.3, un mélange avec CS 1.6 est prévu pour la sortie de la bêta publique.
  • Les smokes exploseront de manière instantanée comme sur CS 1.6.
  • Le radar restera celui de Source.
  • Les wallshots devraient être prochainement inclus.
  • Quelques petits bugs d’anciennes versions de CS seront implémentés sur CSP, comme le quick silencer.
  • Il ne sera quasiment plus possible de faire du hack via les configs, une standardisation des commandes est prévue.
  • Le bouclier ne sera pas présent sur CSPromod.
  • Il n’y aura pas les publicités de CS 1.6 dans le Promod.
  • Les models de source seront implantés uniquement pours les premières betas. La team prévoit sortir ses propres models de joueurs, de la taille de ceux de 1.6 (environ 75% de ceux de source) mais autant détaillé que ceux de source.
  • Idem pour les armes. Elle devraient être remplacée dès que possible par des models spécifiques a CSP.

C’est tout ce dont on est sûr pour le moment.

Les rumeurs

  • Les explosions et les désamorçages pourraient se voir décerner une colonne dans la table des scores.
  • La bêta ouverte sortira en septembre.

Les Screenshots

Free Image Hosting at www.ImageShack.usFree Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.usFree Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

Les vidéos

La même vidéo en haute qualité : ICI.

Les liens

Dernière mise à jour : Le jeudi 4 octobre 2007.