Convertir un fichier text unix vers windows

Contenu du snippet

Le saut de ligne en unix se fait avec l'octet 10, tandis que pour windows, le saut de ligne se fait avec la séquence d'octets 13, 10.

L'algo est simple, lire tous les octets du fichier, si on tombe sur un 10 alors on insert un 13 devant.

pour effectuer la conversion, créer un objet TextConverter puis appeler sa méthode convert() :

TextConverter converter= new TextConverter("c:\\fichier.txt");
try {
converter.convert();
} catch(Exception e) {System.err.println("Erreur");}

Source / Exemple :


/**

  • A class for conversion of text file from
  • UNIX to Windows.
  • /
import java.io.*; public class TextConverter { private File file; public TextConverter (String s) { file= new File (s); } public void convert() throws Exception{ if (file.exists()) { FileInputStream reader= new FileInputStream (file); File result= new File(file.getPath()+".txt"); if(result.exists()) { result.delete(); } result.createNewFile(); FileOutputStream writer= new FileOutputStream (result); int red= reader.read(); while (red != -1) { // inserts a byte 13 before 10 if (red==10) { writer.write(13); } // writes the current byte writer.write(red); // next byte is red. red= reader.read(); } reader.close(); writer.close(); // deletes the old file file.delete(); // renames the new one result.renameTo(file); } } public static void main(String[] args) { TextConverter converter= new TextConverter("c:\\test.txt"); try { converter.convert(); } catch (Exception e){} } }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.