您的位置:首页 > 编程语言 > Java开发

Sublime Text中运行JAVA程序需要输入数据的问题

2014-06-27 14:16 966 查看
一般情况下,在ST里面运行一般的JAVA程序只需在jdk的bin目录里面添加一个runjava.bat文件,代码如下图



@ECHO OFF
cd %~dp1
ECHO Compiling %~nx1.......
IF EXIST %~n1.class (
DEL %~n1.class
)
javac %~nx1
IF EXIST %~n1.class (
ECHO -----------OUTPUT-----------
java %~n1
)


然后在ST安装目录的Packages文件夹,找到Java.sublime-package这个文件【用压缩文件打开,我用的WinRAR】,然后修改里面的Javac.sublime-build文件,修改成如下图:



{
"shell_cmd": "runJava.bat \"$file\"",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",
"encoding": "cp936"
}


编码cp936是为了解决程序中有中文而导致的各种问题

但是,,,上面也说了,按照上面方法设置后只能运行一般的java程序,当遇到程序运行过程中需要手动输入数字的情况时,ST编辑器就会报错而导致无法运行,这个问题我在网上搜索了很久也没有搜索到让人立马解决的办法,正当我准备放弃ST的时候,搜索了大量资料,终于找到了解决办法,然后很没良心的立马去把刚刚下载安装破解的EditPlus给卸载了。。。=_=

解决方案:Tool->Build System->New Build System,然后写入以下代码:



{
"cmd": ["javac","-encoding","gbk","-d",".","$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",
"encoding":"gbk",

"variants":
[
{
"name": "Run",
"shell": true,
"cmd" :  ["start","cmd","/c", "java ${file_base_name}&pause"],
"working_dir": "${file_path}",
"encoding":"gbk"
}
]
}


另存为Java.sublime-build,注意图中的红色标记的地方,可以写成gbk或者cp936都是可以的,这三个地方要统一,不然又会出现莫名其妙的中文编码错误问题,保存后再按CTRL+B就是执行javac命令,按CTRL+SHIFT+B就会执行java命令,弹出熟悉的CMD窗口,然后就可以很顺手的输入数据等等了,保存以后这个文件默认是保存在C:\Users\Administrator\AppData\Roaming\Sublime
Text 3\Packages\User这个目录下的,可是撸主有强迫症啊有木有,放在这里看着就是不爽不和谐啊,于是就把Java.sublime-build移动到了Packages文件夹下的Java.sublime-package这个文件里面,保存,然后就终于解决了心头这个疙瘩了,呵呵

希望能帮到需要的朋友,大家共同学习~~~

上面新建的那个Build文件还是对中文支持有问题,就是如果用ST新建java文件,运行有中文的程序的时候就会有问题,然后现在重新修改一下,可以用了,代码如下:

{
"cmd": ["javac", "${file}", "-encoding", "UTF-8"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"working_dir": "${file_path}",
"selector": "source.java",
"encoding": "cp936",
"shell": true,
"variants":
[
{
"name": "Run",
"cmd": ["cmd", "/c", "javac", "${file}", "-encoding", "UTF-8", "&&", "start", "cmd", "/c", "java ${file_base_name} & echo. & pause"]
},
]
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Sublime
相关文章推荐