近期在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.处理异常和退出

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVuZ3dlaXR3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

尽管上述方法比較人性化,可是也有不足之处:不能执行Java小程序。

如今有一种更简单的方法能避免在dos窗体下进入程序所在文件夹的繁琐过程:将cmd.exe文件复制到程序的文件夹下就可以。

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

作者:nineheadedbird

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

  1. C#程序集系列01,用记事本编写C#,IL代码,用DOS命令编译程序集,运行程序

    本篇主要体验:编写C#,IL代码,用"VS2012开发人员命令提示"编译成程序集,并运行程序. □ C#文件编译为程序集 →在F盘创建as文件夹→在as文件夹下创建MyClass. ...

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

    最近在Java编程过程中,常用到dos窗口对程序进行编译与运行.但是不方便之处在于每次都要输入命令进入将要编译的程序的目录(其实也有简单的方法,在文章末尾给出).于是编写了一个配置文件,可以一次修改, ...

  3. 1、Java语言概述与开发环境——编译和运行第一个程序HelloWorld.java

    编写一个Java程序到运行的步骤概述: 1.将Java代码编写到扩展名为.Java的文件中 2.通过Javac命令对该Java文件进行编译 3.通过Java命令对生成的class文件进行运行 一.编写 ...

  4. java之JVM学习--简单理解编译和运行的过程之概览

    java代码编译流程图: java字节码执行由JVM执行引擎完成 Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Jav ...

  5. Java 编程入门(词汇表)

    抽象类(abstract class):抽象类不能创建对象,主要用来创建子类.Java中的抽象类使用 abstract 修饰符定义. 抽象数据类型(abstract data type ADT):抽象 ...

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

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

  7. Java编程入门(词汇表)

    抽象类(abstract class):抽象类不能创建对象,主要用来创建子类.Java中的抽象类使用 abstract 修饰符定义. 抽象数据类型(abstract data type ADT):抽象 ...

  8. 使用CMD命令编译和运行Java程序

    对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...

  9. Java 编程中关于异常处理的 10 个最佳实践

    异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 ...

随机推荐

  1. python 时间、日期、时间戳的转换

    在实际开发中经常遇到时间格式的转换,例如: 前端传递的时间格式是字符串格式,我们需要将其转换为时间戳,或者前台传递的时间格式和我们数据库中的格式不对应,我们需要对其进行转换才能与数据库的时间进行匹配等 ...

  2. FTP的搭建过程,以及遇到的坑

    在之前的博客中,我有说到,我最喜欢用Yum在线安装的方式安装软件,简单省事儿.现在看来,也不尽然,关键是,无法快速找到我要的文件,整个whereis 也很累.所以,现在觉得,还是乖乖的整个压缩包,自行 ...

  3. DS博客作业05——树

    1.本周学习总结 1.1思维导图 1.2学习体会 学习:相比于之前的数据结构,树多了很多性质,相应的也多了很多计算题,不得不说,专有名词也是颇多.觉得树最独特的地方就是它的兄弟.孩子结点,用以组成了它 ...

  4. 利用Python从文件中读取字符串(解决乱码问题)

    首先声明这篇学习记录是基于python3的. python3中,py文件中默认的文件编码就是unicode,不用像python2中那样加u,比如u'中文'. 不过在涉及路径时,比如C:\Users\A ...

  5. Node.js 文件输入

    最近在尝试用 JavaScript (Node.js) 写题.为此,特地看了 ECMAScript 2017 Language Specification(大雾).写题一般是从文件输入,确切地说是,将 ...

  6. [OJ#15]TR #2 画心

    [OJ#15]TR #2 画心 试题描述 渠是一名画师.渠有一支神奇的画笔,可以画尽因果. 渠要画一幅画,这幅画由N个线段组成,线段从1开始编号,第i条线段有一个特殊的因果值Ai. 由于画太长了,渠不 ...

  7. java面试题之select、poll和epoll的区别

    消息传递方式: select:内核需要将消息传递到用户空间,需要内核的拷贝动作: poll:同上: epoll:通过内核和用户空间共享一块内存来实现,性能较高: 文件句柄剧增后带来的IO效率问题: s ...

  8. 2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15)

    NEERC 15 题解1 题解2 官方题解

  9. 【NOIP2016练习】T2 旅行(树形DP,换根)

    题意:小C上周末和他可爱的同学小A一起去X湖玩. X湖景区一共有n个景点,这些景点由n-1条观光道连接着,从每个景点开始都可以通过观光道直接或间接地走到其他所有的景点.小C带着小A从1号景点开始游玩. ...

  10. vue2.0 mintUI 学习备忘

    一 技术栈:vuecli+vuejs2+mintUI+axios vuecli :脚手架工具 vuejs:前端框架  mintUI:基于vuejs移动端UI  axios:vuejs ajax数据交互 ...