【发布时间】:2012-12-07 22:23:52
【问题描述】:
我想在文件打开时将数据写入文件,但它不起作用。 Calendar getTime 效果很好,System.out.println() 证明了这一点。请问,有什么问题吗...?
主类:
public static void main(String[] args) throws IOException {
// TODO code application logic here
CurrentTime ct = new CurrentTime();
}
当前时间类:
public class CurrentTime {
public OutputStream output;
public InputStream input;
public Process npp;
CurrentTime() throws IOException
{
Timer t = new Timer();
npp = Runtime.getRuntime().exec("notepad");
output = npp.getOutputStream();
TimerTask task = new TimerTask() {
@Override
public void run()
{
String dateStr = Calendar.getInstance(new Locale("ua", "UA")).getTime().toString();
System.out.println(dateStr);
try {
output.write(dateStr.getBytes());
output.flush();
} catch (IOException ex) {
Logger.getLogger(CurrentTime.class.getName()).log(Level.SEVERE, null, ex);
}
}
};
t.schedule(task, 1000, 2000);
}
}
也许这段代码完全错误,np。就这样,我想从任何一方发现这一刻,这根本不可能吗?
更新:这不再是实际的了,只是为了说明,当时我试图直接对文本编辑器实现某种tailing 操作,现在我明白这个想法有多不正常了..当然必须使用完全不同的方式来实现。
【问题讨论】:
-
“不起作用”是不好的。你怎么看它不起作用?可以指定吗?
-
为什么你认为写入记事本的标准输入会写入文件? 大多数 Windows 应用程序甚至都不关心它们的标准输入/标准输出。
-
是的,我可以指定。启动此程序后,记事本打开但没有输出任何数据,但控制台是。
-
其实“我做不到”会更好。
标签: java file runtime real-time outputstream