Il parsing di un file di testo non presenta grandi differenze concettuali e operative tra VB.NET e C#.
La differenza principale, a parte quelle ovvie di sintassi, riguardano com'è strutturata la funzione principale per questa operazione, ovvero la funzione Streamreader.In VB.NET la funzione Streamreader gestisce e legge il file di testo, comportando una semplificazione uno snellimento del codice.
Dim o As New OpenFileDialog
o.ShowDialog()
Dim NomeFile = o.FileName
Me.RichTextBox1.AppendText(NomeFile)
Dim s As StreamReader = New StreamReader(NomeFile)
o.ShowDialog()
Dim NomeFile = o.FileName
Me.RichTextBox1.AppendText(NomeFile)
Dim s As StreamReader = New StreamReader(NomeFile)
In C#, invece, l'utilizzo della funzione è lo stesso, ma spesso viene utilizzata accompagnata dall'istruzione Using, che comporta una semplificazione del testo.
OpenFileDialog o = new OpenFileDialog();
o.ShowDialog();
dynamic NomeFile = o.FileName;
this.richTextBox1.AppendText(NomeFile);
StreamReader s = new StreamReader(NomeFile);
o.ShowDialog();
dynamic NomeFile = o.FileName;
this.richTextBox1.AppendText(NomeFile);
StreamReader s = new StreamReader(NomeFile);
I metodi fondamentali di lettura di un file di testo sono due e li andremo ad analizzare per entrambi i linguaggi di programmazione:
- Metodo Read, legge il carattere successivo dal flusso di input e fa avanzare di un carattere la posizione del carattere.
SINTASSI:
VB.NET
Public Overrides Function Read As Integer
C#
Public Overrides Function Read As Integer
- Metodo ReadToEnd, legge tutti i caratteri dalla posizione corrente fino alla fine del flusso: è previsto anche il metodo asincrono ReadToEndAsync().
SINTASSI:
VB.NET
Public Overrides Function ReadToEnd As String
C#public override string ReadToEnd()
- Metodo ReadLine, legge una riga di caratteri dal flusso corrente e restituisce i dati come stringa; è previsto anche il metodo asincrono ReadLineAsync().
SINTASSI:
VB.NET
Public Overrides Function ReadLine As String
C#Public Overrides Function ReadLine As String
- Metodo Read(Char[], Int32, Int32), legge un numero massimo di caratteri dal flusso corrente e scrive i dati in un buffer, a partire dall'indice specificato; è previsto anche un metodo asincrono di lettura ReadAsync(Char[], Int32, Int32).
SINTASSI:
VB.NET
Public Overrides Function Read ( buffer As Char(), index As Integer, count As Integer ) As Integer
C# public override int Read( char[] buffer, int index, int count )
- Metodo ReadBlock(Char[], Int32, Int32), legge un numero massimo specificato di caratteri dal flusso corrente e scrive i dati in un buffer, a partire dall'indice specificato; è previsto anche un metodo asincrono di lettura ReadBlockAsyn(Char[], Int32, Int32).SINTASSI:
VB.NET
Public Overrides Function ReadBlock (
buffer As Char(),
index As Integer,
count As Integer
) As Integer
C#
public override int ReadBlock(
char[] buffer,
int index,
int count
)
ALCUNI ESEMPI:
METODO READTOEND VB.NET
Imports System.IO
Public Class Form1
Private Sub Botton1_Click (Sender As Object, e As EventArgs) Handles Button1.ClickMe.RichTextBox1.AppendText(Environment.NewLine & NomeFile)
Dim o As New OpenFileDialog
o.ShowDialog()
Dim NomeFile As String = o.FileName
Dim s As New StreamReader (NomeFile)
Dim File As String = s.ReadToEnd ReadToEnd è il comando di lettura fino alla fine
Me.RichTextBox1.AppendText(File & Environment.NewLine)
End Sub
End Class
METODO READLINE VB.NET
Imports System.IO
Public Class Form1
Private Sub Botton1_Click (Sender As Object, e As EventArgs) Handles Button1.ClickMe.RichTextBox1.AppendText(Environment.NewLine & NomeFile)
Dim o As New OpenFileDialog
o.ShowDialog()
Dim NomeFile As String = o.FileName
‘Me.RichTextBox1.AppendText(Environment.NewLine & NomeFile)
Dim s As New StreamReader(NomeFile)Dim File As String = s.ReadToEnd
Me.RichTextBox1.AppendText(File & Environment.NewLine)
Dim Contatore As Integer = 1
Do
Dim RigaDelFile As String = s.ReadLine ReadLine è il comando di lettura riga per riga
Me.RichTextBox1.AppendText(“Riga #” & Contatore & “: ” & RigaDelFile & Environment.NewLine)
Contatore = Contatore + 1
Loop Until s.EndOfStream
End Sub
End Class
METODO READTOEND C#
using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.IO;
public class Form1
{
private void Button1_Click(object Sender, EventArgs e)
{
//Acquisizione del nome del file
OpenFileDialog o = new OpenFileDialog();
o.ShowDialog();
string NomeFile = o.FileName;
this.RichTextBox1.AppendText(Environment.NewLine + NomeFile);
//Definizione del lettore
StreamReader s = new StreamReader(NomeFile);
string File = s.ReadToEnd;
this.RichTextBox1.AppendText(Environment.NewLine + File);
}
}
METODO READLINE C#
using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.IO;
public class Form1
{
private void Button1_Click(object Sender, EventArgs e)
{
//Acquisizione del nome del file
OpenFileDialog o = new OpenFileDialog();
o.ShowDialog();
string NomeFile = o.FileName;
this.RichTextBox1.AppendText(Environment.NewLine + NomeFile);
//Definizione del lettoreStreamReader s = new StreamReader(NomeFile);
int Contatore = 1;
do {
string RigaDelFile = s.ReadLine;
this.RichTextBox1.AppendText(Environment.NewLine + “Riga #” + Contatore + “: ” + RigaDelFile);
Contatore = Contatore + 1;
} while (!(s.EndOfStream));
}
}
P.S. Il codice in C# è stato ottenuto tramite convertitore
Nessun commento:
Posta un commento