Process.StandardInput Tulajdonság

Definíció

Lekéri az alkalmazás bemenetének megírásához használt streamet.

public:
 property System::IO::StreamWriter ^ StandardInput { System::IO::StreamWriter ^ get(); };
public System.IO.StreamWriter StandardInput { get; }
[System.ComponentModel.Browsable(false)]
public System.IO.StreamWriter StandardInput { get; }
member this.StandardInput : System.IO.StreamWriter
[<System.ComponentModel.Browsable(false)>]
member this.StandardInput : System.IO.StreamWriter
Public ReadOnly Property StandardInput As StreamWriter

Tulajdonság értéke

Az StreamWriter alkalmazás szabványos bemeneti adatfolyamának megírására használható.

Attribútumok

Kivételek

A StandardInput stream nincs definiálva, mert RedirectStandardInput a következőre falsevan állítva: .

Példák

Az alábbi példa bemutatja, hogyan irányíthatja át egy StandardInput folyamat adatfolyamát. A példa átirányított bemenettel indítja el a sort parancsot. Ezután felszólítja a felhasználót a szöveg megadására, és az átirányított stream használatával továbbítja sort azt a folyamatnak StandardInput . Az sort eredmények megjelennek a felhasználó számára a konzolon.

using System;
using System.IO;
using System.Diagnostics;
using System.ComponentModel;

namespace ProcessStandardInputSample
{
    class StandardInputTest
    {
        static void Main()
        {
            Console.WriteLine("Ready to sort one or more text lines...");

            // Start the Sort.exe process with redirected input.
            // Use the sort command to sort the input text.
            using (Process myProcess = new Process())
            {
                myProcess.StartInfo.FileName = "Sort.exe";
                myProcess.StartInfo.UseShellExecute = false;
                myProcess.StartInfo.RedirectStandardInput = true;

                myProcess.Start();

                StreamWriter myStreamWriter = myProcess.StandardInput;

                // Prompt the user for input text lines to sort.
                // Write each line to the StandardInput stream of
                // the sort command.
                String inputText;
                int numLines = 0;
                do
                {
                    Console.WriteLine("Enter a line of text (or press the Enter key to stop):");

                    inputText = Console.ReadLine();
                    if (inputText.Length > 0)
                    {
                        numLines++;
                        myStreamWriter.WriteLine(inputText);
                    }
                } while (inputText.Length > 0);

                // Write a report header to the console.
                if (numLines > 0)
                {
                    Console.WriteLine($" {numLines} sorted text line(s) ");
                    Console.WriteLine("------------------------");
                }
                else
                {
                    Console.WriteLine(" No input was sorted");
                }

                // End the input stream to the sort command.
                // When the stream closes, the sort command
                // writes the sorted text lines to the
                // console.
                myStreamWriter.Close();

                // Wait for the sort process to write the sorted text lines.
                myProcess.WaitForExit();
            }
        }
    }
}
open System.Diagnostics

printfn "Ready to sort one or more text lines..."

// Start the Sort.exe process with redirected input.
// Use the sort command to sort the input text.
use myProcess = new Process()

myProcess.StartInfo.FileName <- "Sort.exe"
myProcess.StartInfo.UseShellExecute <- false
myProcess.StartInfo.RedirectStandardInput <- true

myProcess.Start() |> ignore

let myStreamWriter = myProcess.StandardInput

// Prompt the user for input text lines to sort.
// Write each line to the StandardInput stream of
// the sort command.

let mutable inputText = ""
let mutable numLines = 0

while inputText.Length > 0 do
    printfn "Enter a line of text (or press the Enter key to stop):"

    inputText <- stdin.ReadLine()

    if inputText.Length > 0 then
        numLines <- numLines + 1
        myStreamWriter.WriteLine inputText

// Write a report header to the console.
if numLines > 0 then
    printfn $" {numLines} sorted text line(s) "
    printfn "------------------------"
else
    printfn $" No input was sorted"

// End the input stream to the sort command.
// When the stream closes, the sort command
// writes the sorted text lines to the
// console.
myStreamWriter.Close()

// Wait for the sort process to write the sorted text lines.
myProcess.WaitForExit()

Imports System.IO
Imports System.Diagnostics
Imports System.ComponentModel

Namespace Process_StandardInput_Sample

    Class StandardInputTest

        Shared Sub Main()

            Console.WriteLine("Ready to sort one or more text lines...")

            ' Start the Sort.exe process with redirected input.
            ' Use the sort command to sort the input text.
            Using myProcess As New Process()

                myProcess.StartInfo.FileName = "Sort.exe"
                myProcess.StartInfo.UseShellExecute = False
                myProcess.StartInfo.RedirectStandardInput = True

                myProcess.Start()

                Dim myStreamWriter As StreamWriter = myProcess.StandardInput

                ' Prompt the user for input text lines to sort. 
                ' Write each line to the StandardInput stream of
                ' the sort command.
                Dim inputText As String
                Dim numLines As Integer = 0
                Do
                    Console.WriteLine("Enter a line of text (or press the Enter key to stop):")

                    inputText = Console.ReadLine()
                    If inputText.Length > 0 Then
                        numLines += 1
                        myStreamWriter.WriteLine(inputText)
                    End If
                Loop While inputText.Length <> 0


                ' Write a report header to the console.
                If numLines > 0 Then
                    Console.WriteLine($" {numLines} sorted text line(s) ")
                    Console.WriteLine("------------------------")
                Else
                    Console.WriteLine(" No input was sorted")
                End If

                ' End the input stream to the sort command.
                ' When the stream closes, the sort command
                ' writes the sorted text lines to the 
                ' console.
                myStreamWriter.Close()


                ' Wait for the sort process to write the sorted text lines.
                myProcess.WaitForExit()
            End Using

        End Sub
    End Class  'StandardInputTest
End Namespace 'Process_StandardInput_Sample

Megjegyzések

A Process bemeneti szöveg beolvasható a szabványos bemeneti adatfolyamból, általában a billentyűzetről. A StandardInput stream átirányításával programozott módon megadhatja a bemenetet. Billentyűzetbemenet helyett például egy kijelölt fájl tartalmából vagy egy másik alkalmazás kimenetéből adhat meg szöveget.

Note

A használathoz StandardInputbe kell állítania a ProcessStartInfo.UseShellExecutekívánt false értéket, és be kell állítania a következőt ProcessStartInfo.RedirectStandardInputtrue: . Ellenkező esetben a StandardInput streambe való írás kivételt eredményez.

A következőre érvényes:

Lásd még