VB .Net Supprimer les codes CRLF d'un fichier

cs_taznormand Messages postés 2 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 29 août 2005 - 29 août 2005 à 18:08
cs_taznormand Messages postés 2 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 29 août 2005 - 29 août 2005 à 21:18
Bonjour

Voici mon problème :

Je récupère un fichier qui a été transféré par un MainFrame (Bull GCOS7) au format EBCDIC, mais qui a ses enregistrements séparés par les codes CRLF ASCII !!!

Le fichier doit être manipulé pour supprimer ces fameux CRLF puis zippés à la demande de mon prestataire.

Mon appli zip bien, mais mon Record.replace(vbcrlf,"") ne donne rien, et un Record.trim(vbcrlf) non plus.

Je désespère, qui pourra m'aider ???

Merci.

PS : mon fichier en entrée est ouvert avec un streamreader classique :



Dim Fichier_Entree
As System.IO.StreamReader

Dim Fichier_Sortie
As System.IO.StreamWriter

Dim Rec_in
As
String = ""

Dim Rec_Out
As
String = ""

Try
Fichier_Entree =
New System.IO.StreamReader(FichIn)
Fichier_Sortie =
New System.IO.StreamWriter(FichIn & "-2")

While Fichier_Entree.Peek() > -1
Rec_in = Fichier_Entree.ReadLine

Dim MyVbCrLf
As
String = Chr(10) & Chr(13)
Rec_Out = Rec_in.Replace(MyVbCrLf, "")
Fichier_Sortie.WriteLine(Rec_Out)

End
While
Catch erreur
As Exception
MsgBox("erreur " & erreur.Message)

End
Try
Fichier_Entree.Close()
Fichier_Sortie.Close()

2 réponses

cs_sephiro Messages postés 101 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 18 février 2008
29 août 2005 à 18:55
Bonjour
J'ai beaucoup travaillé sur les MainFrames (VM et MVS) et il est tres etonnant d'avoir un code ascii au milieu de code EBCDIC!!! Si tu utilises un editeur comme xedit ne mode hexa, est ce que tu vois les crlf ?
De plus CR est codé par 13 et LF par 10, ans ton exemple il faut inverserDim MyVbCrLf As String Chr(10) & Chr(13)> Dim MyVbCrLf
As
String = Chr(13) & Chr(10)

Sephiro
0
cs_taznormand Messages postés 2 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 29 août 2005
29 août 2005 à 21:18
SAlut


Je sais que l'ASCII au milieu de l'EBCDIC c'est plutot bizarre, mais la machine Bull sur laquelle je travaille fait du FTP "Bull maison", pas de commande Get/Put/Open/etc... Dans Ultraedit, je vois bien les codes 10 et 13 (OA et OD).


Quant à l'inversion, je n'ai pas essayé, mais même en cherchant a supprimer uniquement les CRr our uniquement les LF (ce que j'ai déja essayé avant) ça marche pas non plus

@ +
0
Rejoignez-nous