Eclipse 从文件中读取 stdin (System.in)
Eclipse 是否可以从文件中读取 stdin?
Eclipse 是否可以从文件中读取 stdin?
您可以使用一行代码重定向 System.in:
System.setIn(new FileInputStream(filename));
请参阅 System.setIn()。
在 Eclipse 4.5 或更高版本中,启动配置对话框可以设置从文件中读取 System.in。请参阅此处的公告。
[更新]正如评论中指出的那样,这个答案具有误导性,所以我更新了它以纠正错误。[/更新]
在 bash 或命令提示符下,您可以执行以下操作:(Windows)或(Linux)C:\myprogramm < file.txt
./myprogramm < file.txt
不幸的是,在Eclipse中不可能达到相同的结果,因为在eclipse中没有将stdin绑定到文件的选项。相反,您必须在代码中手动打开文件流,然后从中读取。执行此操作的一种方法是使用程序参数来启用它,并使用另一个程序参数来启用它。请参阅 Scott 的回答,了解需要添加哪种代码才能从程序参数数组中解析 -d 选项。
当您想要指向 Eclipse 项目中的某些文件时,您需要小心获取正确的位置并使用 ${resource_loc:} 变量:
-d ${resource_loc:/MyProject/file}
当然,你也可以放一个绝对路径:
-d path/to/file or -d C:\path\to\file
resource_loc参数是指您的工作区。这是存储所有 eclipse 项目的文件夹。从那里,您仍然必须引用项目文件夹,然后引用要加载的文件。
您可能需要调整斜杠方向,具体取决于您使用的是Linux还是Winodws。