如何:从文件读取文本
下面的代码示例演示如何从文本文件中读取文本。 第二个示例在检测到文件结尾时向您发出通知。 通过使用 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();
}
可靠编程
此代码通过调用 File.OpenText 创建一个指向 MyFile.txt 的 StreamReader。 StreamReader.ReadLine 将每行作为一个字符串返回。 当不再有要读取的字符时,会有一条消息显示该情况,然后流关闭。
注意 |
---|
Visual Basic 用户可以选择使用由 FileSystem 类提供的方法和属性执行文件 I/O 操作。 |