JAVA中,默认的输入是键盘,输出为显示器,而偶尔我们需要特定的输入流或输出流。在java中,这真不是一个问题!
方法一:
针对文件读写一类的,这时可以直接读取、写入文件。
Java提供了丰富的文件对象,初学让人有些不知所措的。熟了就好。
某种意义上,这不叫重定向,这里不妨理解成带上双引号的重定向吧!
方法二:
同样适用于文件读写,但当需要GUI控制台输入输出时,可以考虑下重定向。
在Java的System类中提供了以下重定向函数:
1)setErr(PrintStream err):重新分配“标准”错误输出流。
2)setIn(InputStream in):重新分配“标准”输入流。
3)setOut(PrintStream out):重新分配“标准”输出流。
重定向功能不需要后,执行以下语句即可:
1)恢复“标准”错误输出流
FileOutputStream fdErr = new FileOutputStream(FileDescriptor.err);
System.setErr(new PrintStream(new BufferedOutputStream(fdErr, 128), true));
2)恢复“标准”输入流
FileInputStream fdIn = new FileInputStream(FileDescriptor.in);
System.setIn(new BufferedInputStream(fdIn));
3)恢复“标准”输出流
FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);
setOut0(new PrintStream(new BufferedOutputStream(fdOut, 128), true));
以本人的观点,除非迫不得已,最好不要用方法二,除非你信心十足,否则谨慎为好!
分享到:
相关推荐
本文介绍了Java中的标准输入输出流的相关知识,包括标准输入输出流的概念、重定向、字节流与字符流的区别、流的包装与缓冲以及对象的串行化等内容。掌握了这些基础知识,可以帮助开发者更有效地处理程序中的输入输出...
8)简述Java中标准输入输出流(如System类的输入输出流)的操作方法及其重定向的技术;11)讨论过滤输入流和过滤输出流的作用和使用示例,最后给出了一系列文件读写的实际代码范例,并讨论了处理IO异常的方法。适用...
- Java允许将标准输入输出流重定向到其他流中,例如将输出重定向到文件。 ```java System.setOut(new PrintStream(new FileOutputStream("output.txt"))); ``` #### 五、对象序列化 除了基本的数据读写,Java...
在Java编程语言中,I/O(输入/输出)是程序与外部世界交互的重要部分,而标准输入输出流(System.in, System.out, System.err)是Java内置的预定义流,用于处理程序与操作系统之间的基本输入输出操作。这篇博客将深入...
通过使用`2>&1`,我们可以将标准错误输出重定向到标准输出,从而将两者合并为一个输出流。例如: ```cmd mycommand > mylog.txt 2>&1 ``` 这条命令的意思是将`mycommand`命令的标准输出重定向到`mylog.txt`文件中...
#### 四、Java输入输出综合重定向 在实际应用中,我们往往需要同时实现输入和输出的重定向。这可以通过结合上面介绍的方法来实现。 1. **创建输入输出流**:创建输入输出流并分别指向对应的文件。 ```java ...
本资源是一份完整的 ACM 中使用 Java 的教程和参考文献,涵盖了 Java 语言的基础知识、输入输出重定向、数据结构和算法等方面的内容。 Java 基础知识 在 Java 中,输出重定向是通过使用 `PrintStream` 对象来实现...
_System.out_对象是Java中的标准输出流##_System.in_对象是Java中的标准输入流##通过使用重定向方法,我们可以将控制台的输入或输出重定向到文件中,从而实现从文件中读入或写入数据。 二、Java重定向方法读取文件 ...
Java提供了一种机制,可以通过重定向输出流来将程序的输出信息记录到文件中,而不是仅仅显示在控制台上。以下是对这一主题的详细解释。 首先,Java的`System`类中包含三个标准流:`System.out`、`System.err`和`...
首先,我们需要理解Java的System类中定义的三个流:`System.out`(标准输出)、`System.err`(标准错误)和`System.in`(标准输入)。在默认情况下,它们分别对应于控制台的输出、错误输出和键盘输入。为了在GUI中...
Java提供了InputStream和OutputStream作为所有字节输入流和输出流的基类,而Reader和Writer则是所有字符输入流和输出流的基类。流可以根据流向分为输入流和输出流,用于数据的读取和写入。此外,还有节点流和处理流...
- `setDoOutput()` 和 `setDoInput()`:分别表示是否允许写入输出流和读取输入流。 - `setRequestProperty()`:设置请求头属性,如User-Agent、Referer等。 #### 2.2 发送请求数据 - `getOutputStream()`:获取...
而处理控制台交互时,标准输入输出流就非常实用。 总的来说,Java的输入输出体系是一个强大的工具,允许程序员高效地处理各种数据传输任务。掌握流的概念和使用,不仅可以帮助初学者更好地理解和解决数学问题,还能...
管道流是一种特殊的输入/输出流,它可以在两个线程之间传递数据。其中一个线程负责写入数据到`PipedOutputStream`,而另一个线程则负责从`PipedInputStream`读取这些数据。 ### 示例代码解析 下面我们将对给定的...
- 特殊子类如`DataOutputStream`、`BufferedOutputStream`、`PrintStream`等,提供额外功能如数据格式写入、缓冲区写入和标准输出流重定向等。 ### 字符流详解 #### Reader与Writer - **Reader**:用于读取字符...
#### 1.6 标准输入输出流的重定向 Java允许程序员重定向标准输入、输出和错误流,这在进行命令行工具集成或者测试时非常有用。例如,可以将标准输入从键盘改变为文件,或将标准输出和错误输出重定向到文件。 ### 2...
- 输入输出流的操作通常涉及到标准输入输出设备,例如本例中的`stdin`, `stdout`, `stderr`等。 #### 2. 文件操作 - Servlet还可以用来操作文件系统,例如创建、读取、修改和删除文件。 - 在提供的部分内容中,我们...
1. **Java处理命令输入输出流**:在线编辑器通过Java调用`exec`命令执行程序,创建`Progress`对象以实现与程序运行环境的交互。Java的流API允许对输入和输出进行控制,输入流用于读取数据源,输出流则用于写入数据...
PipedOutputStream则是输出流,用于写入数据到PipedInputStream。通过将System.out和System.err的打印流替换为PipedOutputStream,我们可以确保所有输出都被重定向到管道流中,然后可以从PipedInputStream读取这些...