Sublime Text中运行JAVA程序需要输入数据的问题
2014-06-27 14:16
966 查看
一般情况下,在ST里面运行一般的JAVA程序只需在jdk的bin目录里面添加一个runjava.bat文件,代码如下图
然后在ST安装目录的Packages文件夹,找到Java.sublime-package这个文件【用压缩文件打开,我用的WinRAR】,然后修改里面的Javac.sublime-build文件,修改成如下图:
编码cp936是为了解决程序中有中文而导致的各种问题
但是,,,上面也说了,按照上面方法设置后只能运行一般的java程序,当遇到程序运行过程中需要手动输入数字的情况时,ST编辑器就会报错而导致无法运行,这个问题我在网上搜索了很久也没有搜索到让人立马解决的办法,正当我准备放弃ST的时候,搜索了大量资料,终于找到了解决办法,然后很没良心的立马去把刚刚下载安装破解的EditPlus给卸载了。。。=_=
解决方案:Tool->Build System->New Build System,然后写入以下代码:
另存为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"]
},
]
}
@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中在运行java程序时解决数据输入的问题
- Sublime Text 3 配置java程序运行环境(可进行控制台输入)(转)
- 解决Sublime Text 2运行程序时用户无法输入的问题
- 以不同用户身份运行程序,/savecred只需要输入一次密码(GetTokenByName取得EXPLORER.EXE的令牌,然后调用CreateProcessAsUser,而且使用LoadUserProfile解决另存文件的问题)good
- 使用Sublime Text 3 编译并运行Java程序以及常见的问题
- Windows下使用Sublime Text 2/3调试/运行 C/C++ 程序(可输入数据版本)
- sublime text直接运行python程序时,如何在控制台输入数据?
- Sublime Text 3 配置java程序运行环境(可引入jar包、控制台输入)
- Sublime Text 3 配置java程序运行环境(可引入jar包、控制台输入)
- 在 Sublime Text 2 中编译和运行 Java 程序,以及输出中文出错问题解决办法
- 运行部署在Weblogic上的Web应用时,过一段时间程序就提示数据连接断了,重起Weblogic就好了。过一段时间又出现同样的问题。
- JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记
- JAVA别名问题----JAVA程序需要注意的对象引用
- IO 输入与输出(9)-- Java程序与其他进程的数据通信
- 运行hadoop程序,如何在map中获取输入数据的全路径(fullpath)
- 跟踪法测试(灰盒测试):跟踪程序的运行过程,特别是输入数据的流转过程
- JAVA程序运行时保存数据的六个地方
- 首先需要安装JDK 6 sudo apt-get install sun-java6-jdk 之后需要设置默认的java程序 sudo update-alternatives --config java 按照提示输入对应的选项,指定为JD
- 运行部署在Weblogic上的Web应用时,过一段时间程序就提示数据连接断了,重起Weblogic就好了。过一段时间又出现同样的问题。
- JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记