5 // Dietmar Maurer (dietmar@ximian.com)
7 // (C) Ximian, Inc. http://www.ximian.com
15 public sealed class Console {
17 private static TextWriter stdout;
18 private static TextWriter stderr;
19 private static TextReader stdin;
21 private static OpSys _os = Platform.OS;
25 stderr = new StreamWriter (OpenStandardError ());
26 stdout = new StreamWriter (OpenStandardOutput ());
27 stdin = new StreamReader (OpenStandardInput ());
30 public static TextWriter Error
37 public static TextWriter Out
44 public static TextReader In
51 public static Stream OpenStandardError ()
53 return OpenStandardError (0);
56 public static Stream OpenStandardError (int bufferSize)
58 return new FileStream (_os.StderrHandle,
63 public static Stream OpenStandardInput ()
65 return OpenStandardInput (0);
68 public static Stream OpenStandardInput (int bufferSize)
70 return new FileStream (_os.StdinHandle,
75 public static Stream OpenStandardOutput ()
77 return OpenStandardOutput (0);
80 public static Stream OpenStandardOutput (int bufferSize)
82 return new FileStream (_os.StdoutHandle,
87 public static void setError (TextWriter newError)
90 throw new ArgumentNullException ();
95 public static void setIn (TextReader newIn)
98 throw new ArgumentNullException ();
103 public static void setOut (TextWriter newOut)
106 throw new ArgumentNullException ();
111 public static void Write (bool value)
113 stdout.Write (value);
116 public static void Write (char value)
118 stdout.Write (value);
121 public static void Write (char[] value)
123 stdout.Write (value);
126 public static void Write (decimal value)
128 stdout.Write (value);
131 public static void Write (double value)
133 stdout.Write (value);
136 public static void Write (int value)
138 stdout.Write (value);
141 public static void Write (long value)
143 stdout.Write (value);
146 public static void Write (object value)
148 stdout.Write (value);
151 public static void Write (float value)
153 stdout.Write (value);
156 public static void Write (string value)
158 stdout.Write (value);
161 [CLSCompliant(false)]
162 public static void Write (uint value)
164 stdout.Write (value);
167 [CLSCompliant(false)]
168 public static void Write (ulong value)
170 stdout.Write (value);
173 public static void Write (string format, object arg0)
175 stdout.Write (format, arg0);
178 public static void Write (string format, params object[] arg)
180 stdout.Write (format, arg);
183 public static void Write (char[] buffer, int index, int count)
185 stdout.Write (buffer, index, count);
188 public static void Write (string format, object arg0, object arg1)
190 stdout.Write (format, arg0, arg1);
193 public static void Write (string format, object arg0, object arg1, object arg2 )
195 stdout.Write (format, arg0, arg1, arg2);
198 public static void WriteLine ()
203 public static void WriteLine (bool value)
205 stdout.Write (value);
209 public static void WriteLine (char value)
211 stdout.Write (value);
215 public static void WriteLine (char[] value)
217 stdout.Write (value);
221 public static void WriteLine (decimal value)
223 stdout.Write (value);
227 public static void WriteLine (double value)
229 stdout.Write (value);
233 public static void WriteLine (int value)
235 stdout.Write (value);
239 public static void WriteLine (long value)
241 stdout.Write (value);
245 public static void WriteLine (object value)
247 stdout.Write (value);
251 public static void WriteLine (float value)
253 stdout.Write (value);
257 public static void WriteLine (string value)
259 stdout.Write (value);
263 [CLSCompliant(false)]
264 public static void WriteLine (uint value)
266 stdout.Write (value);
270 [CLSCompliant(false)]
271 public static void WriteLine (ulong value)
273 stdout.Write (value);
277 public static void WriteLine (string format, object arg0)
279 stdout.Write (format, arg0);
283 public static void WriteLine (string format, params object[] arg)
285 stdout.Write (format, arg);
289 public static void WriteLine (char[] buffer, int index, int count)
291 stdout.Write (buffer, index, count);
295 public static void WriteLine (string format, object arg0, object arg1)
297 stdout.Write (format, arg0, arg1);
301 public static void WriteLine (string format, object arg0, object arg1, object arg2)
303 stdout.Write (format, arg0, arg1, arg2);
307 public static int Read ()
309 return stdin.Read ();
312 public static string ReadLine ()
314 return stdin.ReadLine ();