You could also use a string array where each element of the array can be up to 255 characters long.
Something along the lines of:
Sync On
CLS 0
Dim StringArray$(2)
Dim LoadArray$(2)
Rem Fill 3 elements of array...
For N1 = 0 To 2
StringArray$(N1) = ""
For N2 = 1 To 250
RandomChar$ = Chr$(Rnd(25)+65)
If N1*250+N2 <= 748
StringArray$(N1) = StringArray$(N1)+RandomChar$
Else
StringArray$(N1) = StringArray$(N1)+Chr$(13)
Endif
Next N2
Next N1
CLS 0
Sync
Rem Output To File...
If File Exist("DataFile.dat") Then Delete File "DataFile.dat"
Open To Write 1,"DataFile.dat"
For N1 = 0 To 2
For N2 = 1 To 250
Char$ = Mid$(StringArray$(N1),N2)
Write Byte 1,ASC(Char$);
Next N2
Next N1
Close File 1
Sync
Print "Written 750 bytes to file 'DataFile.dat'. Press a key to load and display..."
Wait key
Rem Load Back In From File...
Open To Read 1,"DataFile.dat"
For N1 = 0 To 2
LoadArray$(N1)=""
For N2 = 1 To 250
Read Byte 1,ByteReadIn
LoadArray$(N1) = LoadArray$(N1)+ Chr$(ByteReadIn)
Next N2
Next N1
Close File 1
Rem Print To Screen...
For N1 = 0 To 2
For N2 = 1 To 250
Print Mid$(LoadArray$(N1),N2);
Next N2
Next N1
Sync
This writes 748 bytes and two carriage returns from a string array to a file, then reads them back in and displays them.
The string data is in a string array, but written out using Write Byte because Write String will add a CR/LF automatically after each write operation - something we don't want.
Write Byte doesn't do this, so the file DataFile.dat is always 450 bytes long.
TDK_Man