HOW TO:從檔案讀取文字
下列程式碼範例將示範如何從文字檔中讀取文字, 第二個範例將告知您何時偵測到檔案結尾; 您也可以使用 ReadAllLines 或 ReadAllText 方法來達成這項功能。
範例
Imports System
Imports System.IO
Class Test
Public Shared Sub Main()
Try
' Create an instance of StreamReader to read from a file.
' The using statement also closes the StreamReader.
Using sr As New StreamReader("TestFile.txt")
Dim line As String
' Read and display lines from the file until the end of
' the file is reached.
Do
line = sr.ReadLine()
If Not (line Is Nothing) Then
Console.WriteLine(line)
End If
Loop Until line Is Nothing
End Using
Catch e As Exception
' Let the user know what went wrong.
Console.WriteLine("The file could not be read:")
Console.WriteLine(e.Message)
End Try
End Sub
End Class
using System;
using System.IO;
class Test
{
public static void Main()
{
try
{
// Create an instance of StreamReader to read from a file.
// The using statement also closes the StreamReader.
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
String line;
// Read and display lines from the file until the end of
// the file is reached.
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
catch (Exception e)
{
// Let the user know what went wrong.
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
}
}
using namespace System;
using namespace System::IO;
ref class Test
{
public:
static void Main()
{
try
{
// Create an instance of StreamReader to read from a file.
// The using statement also closes the StreamReader.
StreamReader^ sr = gcnew StreamReader("TestFile.txt");
String^ line;
// Read and display lines from the file until the end of
// the file is reached.
while ((line = sr->ReadLine()) != nullptr)
{
Console::WriteLine(line);
}
sr->Close();
}
catch (Exception^ e)
{
// Let the user know what went wrong.
Console::WriteLine("The file could not be read:");
Console::WriteLine(e->Message);
}
}
};
int main()
{
Test::Main();
}
Imports System
Imports System.IO
Public Class TextFromFile
Private Const FILE_NAME As String = "MyFile.txt"
Public Shared Sub Main()
If Not File.Exists(FILE_NAME) Then
Console.WriteLine("{0} does not exist.", FILE_NAME)
Return
End If
Using sr As StreamReader = File.OpenText(FILE_NAME)
Dim input As String
Do
input = sr.ReadLine()
If Not (input Is Nothing) Then
Console.WriteLine(input)
End If
Loop Until input Is Nothing
Console.WriteLine ("The end of the stream has been reached.")
End Using
End Sub
End Class
using System;
using System.IO;
public class TextFromFile
{
private const string FILE_NAME = "MyFile.txt";
public static void Main()
{
if (!File.Exists(FILE_NAME))
{
Console.WriteLine("{0} does not exist.", FILE_NAME);
return;
}
using (StreamReader sr = File.OpenText(FILE_NAME))
{
String input;
while ((input = sr.ReadLine()) != null)
{
Console.WriteLine(input);
}
Console.WriteLine ("The end of the stream has been reached.");
}
}
}
using namespace System;
using namespace System::IO;
public ref class TextFromFile
{
private:
static String^ FILE_NAME = "MyFile.txt";
public:
static void Main()
{
if (!File::Exists(FILE_NAME))
{
Console::WriteLine("{0} does not exist.", FILE_NAME);
return;
}
StreamReader^ sr = File::OpenText(FILE_NAME);
String^ input;
while ((input = sr->ReadLine()) != nullptr)
{
Console::WriteLine(input);
}
Console::WriteLine ("The end of the stream has been reached.");
sr->Close();
}
};
int main()
{
TextFromFile::Main();
}
穩固程式設計
這個程式碼會建立一個 StreamReader,透過 File.OpenText 呼叫指向 MyFile.txt。 StreamReader.ReadLine 會將每一行傳回為字串。 當不再有字元可供讀取時,會顯示傳達該情形的訊息,並關閉資料流。
![]() |
---|
Visual Basic 使用者可以選擇對檔案 I/O 使用 FileSystem 類別所提供的方法和屬性。 |