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

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
我的运行截图如下:
1.编译.java文件



2.执行.class文件

3.处理异常和退出

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

原文:http://blog.csdn.net/tengweitw/article/details/32967117

作者:nineheadedbird

【Java编程】Java在dos窗口编译与执行的批处理的更多相关文章

  1. 【Java编程】Java在dos窗体编译与运行的批处理

    近期在Java编程过程中,常常使用到dos窗体对程序进行编译与执行. 可是不方便之处在于每次都要输入命令进入将要编译的程序的文件夹(事实上也有简单的方法,在文章末尾给出).于是编写了一个配置文件,能够 ...

  2. Windows学习总结(8)——DOS窗口查看历史执行过的命令的三种方式

    在DOS窗口执行了一些列命令完成某项工作后,如果要查看都执行了那些命令,该如何办呢?(前提:DOS窗口未关闭的情况下) 一.方法一: 使用↑↓箭头上下翻看执行过的命令,此方式适宜执行命令较少的情况. ...

  3. 在dos中编译java文件

    首先Dos中 编译java文件是:javac (所有)类名.java 运行java文件是:java 包名.类名 java指令默认在寻找class文件的地址是通过CLASSPATH环境变量中指定的目录中 ...

  4. 开始JAVA编程的敲门砖——JAVA开发环境搭建

    从头开始的java编程--JAVA开发环境搭建 一.什么是java的开发环境? 顾名思义java的开发环境是提供并保证整个java程序开发运行的必要的环境,搭建java开发环境是开始java编程的敲门 ...

  5. Java学习:注解,反射,动态编译

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Java学习:注解,反射,动态编译 Annotation 注解  什么是注解 ? Annotat ...

  6. JAVA基础语法:java编程规范和常用数据类型(转载)

    JAVA基础语法:java编程规范和常用数据类型 摘要 本文主要介绍了最基本的java程序规则,和常用数据类型,其中侧重说了数组的一些操作. 面向java编程 java是纯面向对象语言,所有的程序都要 ...

  7. DOS窗口带jar包运行java程序

    由于工作环境的问题,有过一次这样的测试,需要在DOS窗口运行带有jar包的java程序 编译命令如下: javac -Djava.ext.dirs=./lib Test.java 或 javac -D ...

  8. 编译运行第一个Java程序——通过示例学习Java编程3

    作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=13 在本教程中,我们将了解如何编写.编译和运行Ja ...

  9. 在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类

    一.背景 最近在使用记事本编写带有包名并且有继承关系的java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法. 二.测试过程 1.父类代码 pack ...

随机推荐

  1. PLSQL程序编写杂烦数据表信息编写批量排版

    --PLSQL程序编写杂烦数据表信息编写批量排版 SELECT 'cra.' || lower(t.column_name) ||',' FROM dba_tab_columns t WHERE t. ...

  2. Linux Debugging (九) 一次生产环境下的“内存泄露”

    一个偶然的机会,发现一个进程使用了超过14G的内存.这个进程是一个RPC server,只是作为中转,绝对不应该使用这么多内存的.即使并发量太多,存在内存中的数据太多,那么在并发减少的情况下,这个内存 ...

  3. C++对C语言的变量检测增强

    在C语言中,重复定义多个同名的全局变量是合法的 在C++中,不允许定义多个同名的全局变量 C语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上 demo #include <st ...

  4. Dynamics CRM2015 Custom Code Validation Tool工具的使用

    工具下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=45535 下载后双击exe文件解压后里面会有个zip文件,将文件导入系 ...

  5. How to Find the Self Service Related File Location and Versions

     How to Find the Self Service Related File Location and Versions (文档 ID 781385.1) In this Document ...

  6. 从二进制数据流中构造GDAL可以读取的图像数据

    在很多时候,我们的图像数据往往都不是文件方式存储在磁盘上,而是可能从网络或者数据库中获取的是二进制的图像数据流.最简单的方式和最容易想到的方式就是将这个文件流保存到磁盘上形成一个文件,然后再使用GDA ...

  7. JavaI/O体系详解

    Java中IO操作主要是指使用Java进行输入,输出操作,Java中所有的IO操作类都存放在Java.io包中,在使用时需要导入此包. 在整个Java.io包中最重要的就是5个类和一个接口.5个类指的 ...

  8. Mybatis源码之Statement处理器PreparedStatementHandler(五)

    PreparedStatementHandler就是调用PreparedStatement来执行SQL语句,这样在第一次执行sql语句时会进行预编译,在接下来执行相同的SQL语句时会提高数据库性能 源 ...

  9. android值得珍藏的6个开源框架技术

    1.volley  项目地址 https://github.com/smanikandan14/Volley-demo JSON,图像等的异步下载: 网络请求的排序(scheduling) 网络请求的 ...

  10. cocos2D v3.4 在TileMap中开启高清显示

    在Tiled中制作一幅地图,用的图片砖块分辨率为32x32. iOS设备为iPhone 4s. 在未打开高清屏支持的cocos2d v2.x版本中,运行log显示480x320.遂启用高清屏支持: [ ...