0%

【Java编程】Java在dos窗口编译与执行的批处理

​ 最近在Java编程过程中,常用到dos窗口对程序进行编译与运行。但是不方便之处在于每次都要输入命令进入将要编译的程序的目录(其实也有简单的方法,在文章末尾给出)。于是编写了一个配置文件,可以一次修改,经常使用。(只需要在下面程序中将路径修改为你所经常存放程序的目录)。前提当然是你已正确配置环境变量。具体方法为:将下面的程序放在新建的文本文件中,并将后缀名改为.bat.然后双击该文件,按提示操作即可!

程序源码如下:(红色字体是需要根据你的存放路径修改的)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
echo off
cls
title Java在dos窗口的编译与执行
color 0a
rem 将路径改为你将要编译执行的文件目录 例如:我的文件目录为"D:\studytool\Java\classes"(shift+右键 单击你的文件目录选择"复制为路径")
D:
cd D:\
cd studytool\Java\classes
set cd1=%cd%
echo 当前目录%cd1%下已有的文件:
dir /b
:cx
set /p filename=请选择要编译或执行的文件名(需写后缀名,按quit退出程序):
if "%filename%"=="quit" (exit)
set "leixing=%filename:~-5%"
set "leixing1=%filename:~0,-5%"
set "leixing2=%filename:~0,-6%"
if "%leixing%"==".java" (
echo 请选择:(1.编译;2.执行;3.编译和执行)
choice /c 123
if errorlevel 3 (
echo 正在编译……
javac %filename%
echo 正在执行……
echo 执行结果为:
java %leixing1%
goto cx
)
if errorlevel 2 (
echo 该文件为.java文件,不能直接执行!
goto cx
)
if errorlevel 1 (
echo 正在编译……
javac %filename%
goto cx
)
echo 此时目录%cd1%下已有的文件:
dir /b
goto cx
)

if "%leixing%"=="class" (
echo 请选择:(1.编译;2.执行;3.编译和执行)
choice /c 123

if errorlevel 3 (
echo 该文件为.class文件,不能编译!
goto cx
)
if errorlevel 2 (
echo 正在执行……
echo 执行结果为:
java %leixing2%
goto cx
)
if errorlevel 1 (
echo 该文件为.class文件,不能编译!
goto cx
)
echo 此时目录%cd1%下已有的文件:
dir /b
goto cx
) else (echo 你输入的文件名有误!
goto cx)

pause

我的运行截图如下:

  • 编译.java文件
    图1
  • 执行.class文件

    图2

  • 处理异常和退出
    图3

​ 虽然上述方法比较人性化,但是也有不足之处:不能运行Java小程序。现在有一种更简单的方法能避免在dos窗口下进入程序所在目录的繁琐过程:将cmd.exe文件拷贝到程序的目录下即可。

坚持原创技术分享,您的支持将鼓励我继续创作!