Habituellement avec ma sortie, je suis en train d'écrire à la transcription avec ...Smalltalk: sortie d'écriture dans un fichier
Transcript show:
Comment peut-on écrire la sortie vers un fichier au lieu?
Habituellement avec ma sortie, je suis en train d'écrire à la transcription avec ...Smalltalk: sortie d'écriture dans un fichier
Transcript show:
Comment peut-on écrire la sortie vers un fichier au lieu?
Vous voulez utiliser un FileStream
Voir this link describing FileStreams
Extrait ci-dessous:
* for reading:
aStream := FileStream readonlyFileNamed:aFilenameString
* to read/write an existing file:
aStream := FileStream oldFileNamed:aFilenameString
* to create a new file for writing:
aStream := FileStream newFileNamed:aFilenameString
Ce qui précède est le protocole de faible création d'instance de niveau interne, ce qui est un peu politiquement incorrect d'utiliser. Pour la portabilité, s'il vous plaît utiliser le nom de fichier de classe compagnon pour créer fileStreams:
* for reading:
aStream := aFilenameString asFilename readStream
* to read/write an existing file:
aStream := aFilenameString asFilename readWriteStream
* to create a new file for writing:
aStream := aFilenameString asFilename writeStream
* to append to an existing file:
aStream := aFilenameString asFilename appendingWriteStream
Et puis ne pas oublier de gérer le codage de caractères que vous voulez, si vous n'êtes pas d'écrire un codage binaire ou par défaut. Dans Pharo/Squeak, définissez le convertisseur sur la sous-classe TextConverter nécessaire.
| fileName aStream |
nomFichier: = (Nom de fichier nommé: 'flux.st').
aStream: = nomFichier readAppendStream.
aStream nextPutAll: «Quelle est la meilleure classe que j'ai jamais prise?
aStream cr.
aStream rinçage.
aStream nextPutAll: 'C'est la classe VisualWorks Intro!'.
aStream fermer.