通过notepad ++默认java代码打开文件txt

时间:2013-08-09 10:09:58

标签: java swt

String cmds[] = new String[] { "cmd", "/c","C:\Test.txt" };
Runtime.getRuntime().exec(cmds);

目前,我使用上面的代码在本地打开一个txt文件。 但是,它将由记事本打开,不保留原始格式。 我想用notepad ++打开默认值来解决这个问题。 请告诉我处理此案件的方法。 感谢。

5 个答案:

答案 0 :(得分:3)

您可以使用Desktop.getDesktop().open(file)它会使用默认的系统应用程序来打开指定的文件。

此API的优势在于其平台独立性。

但是,如果出现以下情况,你真的需要彻底考虑一下你要做什么:

  • 安装了Notepad ++,但不是.txt个文件的默认程序
  • Notepad ++存在,但未安装

  • WVrock

    的其他信息
      

    我想指出,可以使用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" };