天天看点

Emeditor宏编译java文件并执行

     使用Emeditor的jsee宏,通过调用dos窗口,编译当前java文件并执行,将执行结果显示到dos窗口上,按任意键退出。对于初学java,且喜欢用Emeditor编程的同学来说,可以提供一点便利。

// 这个jsee宏使用前提
// 当前java文件就是要编译执行的文件上才可以
function compileJava()
{
    if( document.Saved )
    {
        //已经被保存了,不做任何动作
    }
    else
    {
        //保存当前文件
        document.Save( document.Name );
    }
    var wsFSO;
    var wsShell;
    var wsTxtFile;
    var wsSubFileName;
    // 取得文件名(包括扩展名)
    var wsFileName = document.Name;
    // 取得文件名路径
    var wsFilePath = document.Path;
    // 取得没有扩展名的文件名
    wsSubFileName = wsFileName.replace( ".java" ,"");

    try{
        // 创建FileSystemObject 对象
        wsFSO = new ActiveXObject( "Scripting.FileSystemObject" );
        //  FileSystemObject 对象创建一个compileJava.bat文件
        //  compileJava.bat  1.弹出一个dos命令提示符窗口
        //                   2.调用javac命令编译当前java文件
        //                   3.调用java 命令执行当前java文件
        //                   4.将结果显示到dos命令提示符上
        //                   5.按任意键退出dos窗口
        wsTxtFile = wsFSO.CreateTextFile( wsFilePath + "\\compileJava.bat" , true);
        wsTxtFile.WriteLine( "@echo off" );
        wsTxtFile.WriteLine( "cd /d " + wsFilePath );
        wsTxtFile.WriteLine( "javac " + wsFileName );
        wsTxtFile.WriteLine( "java " + wsSubFileName );
        wsTxtFile.WriteLine( "pause > nul" );
        wsTxtFile.WriteLine( "del compileJava.bat" );
        wsTxtFile.WriteLine( "exit" );
        wsTxtFile.Close();
        // 创建ActiveXObject对象
        wsShell = new ActiveXObject( "WScript.Shell" );
        // ActiveXObject对象调用CMD,运行bat文件,编译java文件并执行java类文件
        wsShell.run( "cmd.exe /c " + wsFilePath + "\\compileJava.bat" );
    }
    catch(e)
    {
        wsFileName = editor.FullName;
        alert( "The full name of EmEditor is " + wsFileName );
    }
    finally
    {
        wsFSO = null;
        wsShell = null;
    }
}
           

“`