Console.SetOut-Methode
Legt die Out-Eigenschaft auf den angegebenen TextWriter fest.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Sub SetOut ( _
newOut As TextWriter _
)
'Usage
Dim newOut As TextWriter
Console.SetOut(newOut)
public static void SetOut (
TextWriter newOut
)
public:
static void SetOut (
TextWriter^ newOut
)
public static void SetOut (
TextWriter newOut
)
public static function SetOut (
newOut : TextWriter
)
Parameter
- newOut
Ein TextWriter-Stream, der die neue Standardausgabe darstellt.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
newOut ist NULL (Nothing in Visual Basic). |
|
Der Aufrufer verfügt nicht über die erforderliche Berechtigung. |
Hinweise
In der Standardeinstellung wird die Out-Eigenschaft auf den Standardausgabestream festgelegt.
Ein StreamWriter, der einen FileStream kapselt, kann zur Ausgabe in eine Datei verwendet werden. Beispiel:
Console.WriteLine("Hello World");
FileStream fs1 = new FileStream("Test.txt", FileMode.Create);
// First, save the standard output.
TextWriter tmp = Console.Out;
StreamWriter sw1 = new StreamWriter(fs1);
Console.SetOut(sw1);
Console.WriteLine("Hello file");
Console.SetOut(tmp);
Console.WriteLine("Hello World");
sw1.Close();
Beispiel
Im folgenden Codebeispiel wird die Verwendung der SetOut-Methode veranschaulicht.
Public Class InsertTabs
Private Const tabSize As Integer = 4
Private Const usageText As String = "Usage: INSERTTABS inputfile.txt outputfile.txt"
'Entry point which delegates to C-style main Private Function
Public Overloads Shared Sub Main()
System.Environment.ExitCode = Main(System.Environment.GetCommandLineArgs())
End Sub
Overloads Public Shared Function Main(args() As String) As Integer
Dim writer As StreamWriter = Nothing
If args.Length < 3 Then
Console.WriteLine(usageText)
Return 1
End If
Try
writer = New StreamWriter(args(2))
Console.SetOut(writer)
Console.SetIn(New StreamReader(args(1)))
Catch e As IOException
Dim errorWriter As TextWriter = Console.Error
errorWriter.WriteLine(e.Message)
errorWriter.WriteLine(usageText)
Return 1
End Try
Dim line As String
line = Console.ReadLine()
While Not line Is Nothing
Dim newLine As String = line.Replace("".PadRight(tabSize, " "c), ControlChars.Tab)
Console.WriteLine(newLine)
line = Console.ReadLine()
End While
writer.Close()
' Recover the standard output stream so that a
' completion message can be displayed.
Dim standardOutput As New StreamWriter(Console.OpenStandardOutput())
standardOutput.AutoFlush = True
Console.SetOut(standardOutput)
Console.WriteLine("INSERTTABS has completed the processing of {0}.", args(0))
Return 0
End Function 'Main
End Class 'InsertTabs
public class InsertTabs {
private const int tabSize = 4;
private const string usageText = "Usage: INSERTTABS inputfile.txt outputfile.txt";
public static int Main(string[] args) {
StreamWriter writer = null;
if (args.Length < 2) {
Console.WriteLine(usageText);
return 1;
}
try {
writer = new StreamWriter(args[1]);
Console.SetOut(writer);
Console.SetIn(new StreamReader(args[0]));
}
catch(IOException e) {
TextWriter errorWriter = Console.Error;
errorWriter.WriteLine(e.Message);
errorWriter.WriteLine(usageText);
return 1;
}
string line;
while ((line = Console.ReadLine()) != null) {
string newLine = line.Replace(("").PadRight(tabSize, ' '), "\t");
Console.WriteLine(newLine);
}
writer.Close();
// Recover the standard output stream so that a
// completion message can be displayed.
StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput());
standardOutput.AutoFlush = true;
Console.SetOut(standardOutput);
Console.WriteLine("INSERTTABS has completed the processing of {0}.", args[0]);
return 0;
}
}
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
const int tabSize = 4;
String^ usageText = "Usage: INSERTTABS inputfile.txt outputfile.txt";
StreamWriter^ writer = nullptr;
if ( args->Length < 3 )
{
Console::WriteLine( usageText );
return 1;
}
try
{
writer = gcnew StreamWriter( args[ 2 ] );
Console::SetOut( writer );
Console::SetIn( gcnew StreamReader( args[ 1 ] ) );
}
catch ( IOException^ e )
{
TextWriter^ errorWriter = Console::Error;
errorWriter->WriteLine( e->Message );
errorWriter->WriteLine( usageText );
return 1;
}
String^ line;
while ( (line = Console::ReadLine()) != nullptr )
{
String^ newLine = line->Replace( ((String^)"")->PadRight( tabSize, ' ' ), "\t" );
Console::WriteLine( newLine );
}
writer->Close();
// Recover the standard output stream so that a
// completion message can be displayed.
StreamWriter^ standardOutput = gcnew StreamWriter( Console::OpenStandardOutput() );
standardOutput->AutoFlush = true;
Console::SetOut( standardOutput );
Console::WriteLine( "INSERTTABS has completed the processing of {0}.", args[ 1 ] );
return 0;
}
public class InsertTabs
{
private static int tabSize = 4;
private static String usageText = "Usage: INSERTTABS inputfile.txt"
+ " outputfile.txt";
public static void main(String[] args)
{
StreamWriter writer = null;
if (args.length < 2) {
Console.WriteLine(usageText);
return ;
}
try {
writer = new StreamWriter(args[1]);
Console.SetOut(writer);
Console.SetIn(new StreamReader(args[0]));
}
catch (IOException e) {
TextWriter errorWriter = Console.get_Error();
errorWriter.WriteLine(e.get_Message());
errorWriter.WriteLine(usageText);
return ;
}
String line;
while (((line = Console.ReadLine()) != null)) {
String newLine = line.Replace("".PadRight(tabSize, ' '), "\t");
Console.WriteLine(newLine);
}
writer.Close();
// Recover the standard output stream so that a
// completion message can be displayed.
StreamWriter standardOutput = new StreamWriter(Console.
OpenStandardOutput());
standardOutput.set_AutoFlush(true);
Console.SetOut(standardOutput);
Console.WriteLine("INSERTTABS has completed the processing of {0}.",
args[0]);
} //main
} //InsertTabs
const tabSize = 4;
const usageText = "Usage: INSERTTABS inputfile.txt outputfile.txt";
var writer : StreamWriter = null;
var args = Environment.GetCommandLineArgs();
if (args.Length != 3) {
Console.WriteLine(usageText);
Environment.Exit(1);
}
try {
writer = new StreamWriter(args[2]);
Console.SetOut(writer);
Console.SetIn(new StreamReader(args[1]));
}
catch(e : IOException) {
var errorWriter = Console.Error;
errorWriter.WriteLine(e.Message);
errorWriter.WriteLine(usageText);
Environment.Exit(1);
}
var line;
while ((line = Console.ReadLine()) != null) {
var newLine = line.Replace(("").PadRight(tabSize, ' '), "\t");
Console.WriteLine(newLine);
}
writer.Close();
// Recover the standard output stream so that a
// completion message can be displayed.
var standardOutput = new StreamWriter(Console.OpenStandardOutput());
standardOutput.AutoFlush = true;
Console.SetOut(standardOutput);
Console.WriteLine("INSERTTABS has completed the processing of {0}.", args[0]);
.NET Framework-Sicherheit
- SecurityPermission für den Aufruf von nicht verwaltetem Code. Zugeordnete Enumeration: SecurityPermissionFlag.UnmanagedCode.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0
Siehe auch
Referenz
Console-Klasse
Console-Member
System-Namespace
TextWriter
Out