Java中的重定向比C/C++ (freopen)麻烦一些
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
// 输入重定向
BufferedInputStream in = new BufferedInputStream(new FileInputStream("std.in"));
System.setIn(in);
Scanner stdin = new Scanner(System.in);
int a = stdin.nextInt();
int b = stdin.nextInt();
// 输出重定向
PrintStream out = new PrintStream(new FileOutputStream("estdout.pc2"));
System.setOut(out);
System.out.print(a + b);
out.close(); // 关闭重定向
}
}
#ifndef ONLINE_JUDGE
freopen("S3.in", "r", stdin);
freopen("S3.out", "w", stdout);
#endif
本文通过示例代码对比了Java与C/C++中输入输出重定向的方法。Java使用BufferedInputStream和PrintStream等类实现文件读写,而C/C++则利用freopen函数轻松完成。这对于理解不同编程语言的I/O处理机制很有帮助。
415

被折叠的 条评论
为什么被折叠?



