通过记事本打开文件txt++;默认java代码
目前,我使用上面的代码在本地打开一个txt文件。 但是,它将通过记事本打开,并且不会保持原始格式。 我想通过notepad++打开默认设置来修复此问题。 请告诉我如何处理这个案子。通过记事本打开文件txt++;默认java代码,java,swt,Java,Swt,目前,我使用上面的代码在本地打开一个txt文件。 但是,它将通过记事本打开,并且不会保持原始格式。 我想通过notepad++打开默认设置来修复此问题。 请告诉我如何处理这个案子。 谢谢。右键单击该txt文件并转到属性,然后将打开更改为notepad++。现在运行您的代码,您现在可以看到该文件在notepad++中打开 首先,您的计算机使用notepad作为默认文本编辑器,通过执行上述步骤,它将变为notepad++您可以使用Desktop.getDesktop().open(file),但它使
谢谢。右键单击该
txt
文件并转到属性,然后将打开更改为notepad++
。现在运行您的代码,您现在可以看到该文件在notepad++中打开
首先,您的计算机使用
notepad
作为默认文本编辑器,通过执行上述步骤,它将变为notepad++
您可以使用Desktop.getDesktop().open(file)
,但它使用默认系统应用程序打开指定的文件
此API的优势在于其平台独立性
但是,如果出现以下情况,您确实需要彻底思考您将要做什么:
.txt
文件的默认程序其他信息来自
我想指出,可以使用edit()而不是open()来使用系统的默认编辑应用程序而不是打开应用程序来打开它。请注意,普通用户不知道如何更改默认编辑应用程序,通常在windows中将其设置为记事本 应该可以工作,但是如果您没有在路径中添加notepad++,则命令将被删除
{ "cmd", "/c","notepad++ C:\Test.txt" };
试试这个:
{ "cmd", "/c","fullpath-to-notepad++.exe C:\Test.txt" };
或
例如,如果记事本++位于C:\Windows\notepad++.exe
:
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\path\\to\\notepad++.exe C:\\path\\to\\file.txt");
转到记事本++属性,查看路径记事本++是系统中.txt文件的默认程序吗?请尝试{“cmd”、“/c”、“记事本++c:\Test.txt”}@Satya的评论是相关的,但您可能有一些情况下,
notepad++
命令无法被命令行识别,例如,未设置path变量。在这种情况下,他将不得不使用notepad++.exe的完整路径,作为答案发布。您的notepad++后备解决方案是什么?是的,但是,我想在其他机器上打开。因此,我希望以notepad++默认值打开,而不进行上述更改。我希望其他机器@user2659694将在上使用代码,也将运行Windows。因为,不同的操作系统需要不同的命令。他必须有一个单独的方法来返回命令,具体取决于操作系统。我想指出,可以使用edit()
而不是open()
来使用系统的默认编辑应用程序打开命令,而不是打开应用程序。请注意,普通用户不知道如何更改默认的编辑应用程序,并且通常在windows中将其设置为记事本。我也遇到了同样的问题,并且能够用上面的代码解决它。确保根据记事本+++.exe的位置进行相应的更改。还要记住Test.txt可以在任何地方。。。您只需要给出路径名(我通过右键单击它并转到属性来实现……路径应该准备好进行可靠的复制和粘贴处理:))
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\Windows\\notepad++.exe C:\\test.txt");
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\path\\to\\notepad++.exe C:\\path\\to\\file.txt");
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\Windows\\notepad++.exe C:\\test.txt");
try {
String cmds[] = new String[] { "cmd", "/c","C:\\Program Files (x86)\\Notepad++\\notepad++.exe " , "C:\\Test.txt" };
Runtime.getRuntime().exec(cmds);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}