如何用Java程序关闭记事本中的文本文件
我创建一个包含一些数据的文本文件,我只想关闭指定的文本文件。我在谷歌上搜索,找到了如下解决方案:如何用Java程序关闭记事本中的文本文件,java,Java,我创建一个包含一些数据的文本文件,我只想关闭指定的文本文件。我在谷歌上搜索,找到了如下解决方案: Runtime.getRuntime().exec("taskkill /IM notepad.exe"); 但它会关闭所有记事本实例,但我只想关闭指定的文本文件。此代码用于打开sample1.txt文件: Runtime rt = Runtime.getRuntime(); String file = "D:\\sample1.txt"; Process p = rt.exec("notepad
Runtime.getRuntime().exec("taskkill /IM notepad.exe");
但它会关闭所有记事本实例,但我只想关闭指定的文本文件。此代码用于打开sample1.txt文件:
Runtime rt = Runtime.getRuntime();
String file = "D:\\sample1.txt";
Process p = rt.exec("notepad " +file);
Runtime.getRuntime().exec("taskkill /IM notepad.exe");
此代码用于关闭txt文件:
Runtime.getRuntime().exec("taskkill /IM notepad.exe");
但在这里,如果我打开了另一个文本文件,而不是sample1.txt,那么所有文本文件都将关闭。我关心的是只关闭sample1.txt文件
我的完整代码:
import java.io.IOException;
public class fileCloseOp2 {
public static void main(String[] args) throws IOException,
InterruptedException {
// TODO Auto-generated method stub
Runtime rt = Runtime.getRuntime();
String file = "D:\\sample1.txt";
Process p = rt.exec("notepad " +file);
Thread.sleep(5000);
Runtime.getRuntime().exec("taskkill /IM notepad.exe");
}
}
在这里:
您在建立后丢弃的流程对象。。。为您提供对关联流程的完全控制。例如,它提供了一种方法
因此,这里真正的答案是:不要使用在internet上找到的一些API/库调用。相反:阅读相应的javadoc,理解为什么要使用一些构造,更重要的是:理解它能为您提供什么
换句话说:您创建了一个打开记事本的操作系统进程。您只需使用指向该操作系统进程的句柄就可以完全杀死该进程 这里:
您在建立后丢弃的流程对象。。。为您提供对关联流程的完全控制。例如,它提供了一种方法
因此,这里真正的答案是:不要使用在internet上找到的一些API/库调用。相反:阅读相应的javadoc,理解为什么要使用一些构造,更重要的是:理解它能为您提供什么
换句话说:您创建了一个打开记事本的操作系统进程。您只需使用指向该操作系统进程的句柄就可以完全杀死该进程 您可以对流程对象调用destroy方法。它将只终止rt.exec运行的进程。谢谢Dorian。它正在工作。您可以在进程对象上调用destroy方法。它将只终止rt.exec运行的进程。谢谢Dorian。它正在工作。嗨,如何找到相应的java文档?请通过步骤告诉我。@1。转向谷歌。2.键入javaprocess+enter。右键显示给我的第一个链接:。。。或者反过来说:知道指向javadoc入口点的链接,比如Java12。。。并浏览这些包。这是一项基本技能,培训是必不可少的。@george并记录在案:请不要忘记在某个时候接受答案-您好,如何找到相应的java文档?请通过步骤告诉我。@1。转向谷歌。2.键入javaprocess+enter。右键显示给我的第一个链接:。。。或者反过来说:知道指向javadoc入口点的链接,比如Java12。。。并浏览这些包。这是一项基本技能,培训是必不可少的。@george并记录在案:请不要忘记在某个时候接受答案-