String cmds[] = new String[] { "cmd", "/c","C:\Test.txt" };
Runtime.getRuntime().exec(cmds);
目前,我使用上面的代码在本地打开一个txt文件。 但是,它将由记事本打开,不保留原始格式。 我想用notepad ++打开默认值来解决这个问题。 请告诉我处理此案件的方法。 感谢。
答案 0 :(得分:3)
您可以使用Desktop.getDesktop().open(file)
,但它会使用默认的系统应用程序来打开指定的文件。
此API的优势在于其平台独立性。
但是,如果出现以下情况,你真的需要彻底考虑一下你要做什么:
.txt
个文件的默认程序
我想指出,可以使用edit()而不是open()来使用系统的默认编辑应用程序打开它,而不是打开应用程序。请注意,普通用户不知道如何更改默认编辑应用程序,并且通常在Windows中设置为记事本。
答案 1 :(得分:1)
试试这个:
ProcessBuilder pb = new ProcessBuilder("Notepad++.exe", "myfile.txt");
pb.start();
OR
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\path\\to\\notepad++.exe C:\\path\\to\\file.txt");
例如,如果notepad ++位于C:\Windows\notepad++.exe
:
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\Windows\\notepad++.exe C:\\test.txt");
转到notepad ++属性并查看路径
答案 2 :(得分:1)
ERRO 8dc [composerchannel][a68ccd16] failed to invoke chaincode name:"tryme" , error: Failed to generate platform-specific docker build: Error returned from build: 1 "npmERR! code EHOSTUNREACH
npm ERR! errno EHOSTUNREACH
npm ERR! request to https://registry.npmjs.org/composer-common failed, reason: connect EHOSTUNREACH 104.16.18.35:443
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-08-08T10_52_34_967Z-debug.log
答案 3 :(得分:0)
右键单击该txt
文件并转到属性,然后将其更改为notepad++
。现在运行您的代码,您现在可以看到该文件在记事本++中打开。
首先,您的计算机使用notepad
作为默认文本编辑器,通过执行上述步骤,它将更改为notepad++
答案 4 :(得分:0)
{ "cmd", "/c","notepad++ C:\Test.txt" };
应该可以工作,但是如果你没有在PATH中添加notepad ++,那么命令将是
{ "cmd", "/c","fullpath-to-notepad++.exe C:\Test.txt" };