Oppure

Loading
18/01/10 18:27
Ciao a tutti. Ho questo "dilemma":asd:
Io dovrei scrivere un delle righe in un file di testo, ma la "complicanza" è questa:
Questo file di testo è già scritto in questa maniera

RIGA 1
RIGA2
RIGA3
...
RIGAX

RIGAT
RIGAT
RIGAT


Io vorrei che il programma intercetti quella riga vuota, che scrivi lì dentro le istruzioni che gli do e che poi una volta scritta lasci un altra riga vuota... Cioè io vorrei che quel file di testo diventasse adesso così:

RIGA1
RIGA2
RIGA3
...
RIGAX
RIGA AGGIUNTA
RIGA AGGIUNTA
...
RIGA AGGIUNTA

RIGAT
RIGAT


Come potrei fare? Grazie mille in anticipo
18/01/10 19:02
nessuno
*Non* si scrive in mezzo ai file sequenziali ...

Il modo corretto è scrivere un secondo file a partire dal primo, con le righe aggiunte ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
18/01/10 19:14
ilmettiu
Che altri tipi di file ci sono oltre a quelli sequenziali?
aaa
18/01/10 19:17
nessuno
Non esistono diversi "tipi" di file, ma diverse "modalità di accesso" ai file ...

Un file è comunque una sequenza di byte.

Se la sequenza viene "interpretata" in una certa maniera (indicando un determinato "modo di accesso";) allora potrai parlare di file "sequenziale" o "binario" (accesso sequenziale o accesso diretto).

In ogni caso, non potrai aggiungere dati se non sposti quelli seguenti. Quindi, in questo caso, il file va riletto e scritto da un'altra parte con i dati nuovi.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
18/01/10 20:49
Gianluca87
Postato originariamente da nessuno:

Non esistono diversi "tipi" di file, ma diverse "modalità di accesso" ai file ...

Un file è comunque una sequenza di byte.

Se la sequenza viene "interpretata" in una certa maniera (indicando un determinato "modo di accesso";) allora potrai parlare di file "sequenziale" o "binario" (accesso sequenziale o accesso diretto).

In ogni caso, non potrai aggiungere dati se non sposti quelli seguenti. Quindi, in questo caso, il file va riletto e scritto da un'altra parte con i dati nuovi.

precisissimo
aaa
19/01/10 13:51
Ok... dato che non ci capisco molto di file sequenziali e file d'accesso (grazie comunque per le risposte), c'è un modo pratico per poter fare ciò che serve a me? o proprio non c'è modo?
19/01/10 15:44
Alfonso
Dim s As String
Dim Reader As New IO.StreamReader("Tuofile")
Dim Writer As New IO.StreamWriter("Tuofiletmp")
'Leggi il tuo file riga per riga
Do While Not Reader.EndOfStream
  s = (Reader.ReadLine)
  If s <> "" Then
    'se s non è vuota la scrive nel file temporaneo
    Writer.WriteLine(s)
  Else
    ' altrimenti scrivi quello che vuoi
    Writer.WriteLine("aaaaaaaa")
    Writer.WriteLine("bbbbbbbbbbb")
    Writer.WriteLine("")
  End If
Loop
Reader.Close()
Writer.Close()

Cancelli il tuo file, rinomini il file temporaneo
Ultima modifica effettuata da Alfonso 19/01/10 15:45
aaa
19/01/10 16:56
Il Totem
Postato originariamente da a_butta:

Ok... dato che non ci capisco molto di file sequenziali e file d'accesso (grazie comunque per le risposte), c'è un modo pratico per poter fare ciò che serve a me? o proprio non c'è modo?


Postato originariamente da nessuno:
Il modo corretto è scrivere un secondo file a partire dal primo, con le righe aggiunte ...


:yup:
aaa