java编程批处理import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Stack;
public class CheckFilebatch {
private static final String LOG_FILE = "F:/CheckFilebatch.log"; //报错的信息写在这个文件里 。
private static final String FILE_HOME = "F:/niceStore /"; //要操作的物理目录
public static void main(String[] args) {
try {
ArrayListString fileListInDB = new ArrayListString();
FileWriter fw = new FileWriter(LOG_FILE);
// TODO
// 取得DB连接,执行sql“SELECT DISTINCT FILEPATH FROM ARR-FILE”,得到一个ResultSet
// 从DB中取出文件信息,放入fileListInDB 中 ,
ResultSet rs = null;
while (rs.next()) {
String path = rs.getString("File_Column");
File f = new File(path);
if (!f.exists()) {
// 不合法的报出错误信息 。
System.out.println("file not exists: "path);
fw.write("file not exists: "path"\n");
} else {
// 合法的,转化为路径名的规范路径名字符串 , 加入到fileListInDB中
fileListInDB.add(f.getCanonicalPath());
}
}
rs.close();
//
fw.write("\n\n\n\n");
//下面开始遍历物理目录
File home = new File(FILE_HOME);
StackFile tmpStack = new StackFile();
tmpStack.add(home);
while (!tmpStack.isEmpty()) {
File tmp = tmpStack.pop();
File[] childs = tmp.listFiles();
for (int i = 0; ichilds.length; i) {
File child = childs[i];
if (child.isDirectory()) {
tmpStack.push(child);
} else {
if (fileListInDB.contains(child.getCanonicalPath())) {
fileListInDB.remove(child.getCanonicalPath());
} else {
// 删除文件 。
child.delete();
// 这里的操作如果把它移动到另一个目录里,作为备份,更好些 。
fw.write("delete file: "child.getCanonicalPath());
}
}
}
}
// 这个程序只考虑文件 , 不考虑目录
fw.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
Java如何调用可执行文件和批处理命令-JSP教程,Java技巧及代码些第三
厂商
【java代码批处理文件 java批处理是什么意思】(ant)
提供
调用windows
执行程序
java代码批处理文件我
往往需要调用
些批处理命令
java
却
提供
java代码批处理文件我采用
种变相
调用
使
java
能调用批处理命令
您
更
希望您能告诉我
前期准备[/b]
quick
batch
file
(de)compiler
任何bat、cmd批处理脚本编译
exe文件
始1.
运行exe
文件
java
jdk
已经提供
调用
累赘
代码
try
{string
command
=
"notepad";
process
child
=
runtime.getruntime().exec(command);
}
catch
(ioexception
e)
{}
2.
运行
bat(批处理)
文件
google
搜索
找
quick
batch
file
(de)compiler
任何bat、cmd批处理脚本编译
exe文件
使用
quick
batch
file
(de)compiler使用非
简单:
quickbfc
文件名.bat
文件名.exe(
批处理命令编译
执行文件)
quickbfd
文件名.exe
文件名.bat(
执行文件反编译
批处理命令)
我
再按第
种
通
java
调用
即
Java如何调用可执行文件和批处理命令有些第三方厂商如(ANT) , 也提供了调用windows下可执行程序的方法,但我们往往需要调用一些批处理命令 。而java 却不提供 。
这里 , 我采用一种变相的调用方法,使得Java 能调用批处理命令 。如果您有更好的方法,希望您能告诉我 。
前期准备[/B]
Quick Batch File (De)Compiler
将任何BAT、CMD批处理脚本编译为EXE文件!开始1. 运行exe 文件
Java JDK里已经提供了调用的方法,不在累赘,代码如下 。
try {String command = "notepad";
Process child = Runtime.getRuntime().exec(command);
} catch (IOException e) {}
2. 运行 bat(批处理) 文件
在Google上搜索一下,找到Quick Batch File (De)Compiler,可以将任何BAT、CMD批处理脚本编译为EXE文件 。使用了一下 , 果然可以 。
Quick Batch File (De)Compiler使用非常简单:
Quickbfc 文件名.bat 文件名.exe(将批处理命令编译为可执行文件)
quickbfd 文件名.exe 文件名.bat(将可执行文件反编译为批处理命令)
然后 , 我们再按第一种方法通过Java 调用,即可 。
如何制作批处理文件来运行java程序操作步骤
1、新建一个文件夹,将要执行java程序(可使用eclipse导出java代码批处理文件的可执行java代码批处理文件的jar包)拷贝到该文件夹中;
2、将jdk中jre文件夹拷贝到要执行的java程序所在的文件夹;
3、在java程序所在的文件夹中新建一个bat文件 。
bat文件样例:
样例一:
@echo off
set PATH=.;%蚛SocketAdapter_lib\jre\bin
set CLASSPATH=.
start java.exe -jar SocketAdapter.jar
@pause
样例二:
@echo off
start SocketAdapter_lib\jre\bin\java -jar SocketAdapter.jar
@pause
注:
可以在没有安装JRE的环境中 , 运行Java应用程序
java.exe 具体使用参见cmd中输入java -help
javaw.exe 相对于 java.exe 执行java程序过程中MS-DOS不可见
对于安装了JRE的环境中,第2步可以省略,bat文件如下
样例三:
@echo off
java -jar SocketAdapter.jar
@pause
如何把java中的项目做成批处理?这是java代码批处理文件我一个真实java代码批处理文件的项目 。发布批处理程序java代码批处理文件,结构目录如下java代码批处理文件:
data文件存放数据java代码批处理文件,etc存放配置文件,lib,存放项目jar包,startup.bat/startup.sh启动脚本 。
1、-----windows上.bat文件调用java程序 。bat文件内容如下------
echo off
rem setup classpath
echo set _CP=%%_CP%%;%%1 cp.bat
set _CP=.;\classes;"%JAVA_HOME%\lib\dt.jar";"%JAVA_HOME%\lib\tools.jar"
for %%i in (lib\*.jar) do call cp.bat %%i
set CLASSPATH=%_CP%
del cp.bat
echo %CLASSPATH%
rem set JAVA_HOME=
set JAVA_OPTION=-Dfile.encoding=GBK -Xms256m -Xmx256m -XX:MaxPermSize=64m
set RUN_CLASS=batch.Main
"%JAVA_HOME%\bin\java" %JAVA_OPTION% -classpath %CLASSPATH% %RUN_CLASS%
2、-------unix/linux上shell调用java程序,shello文件内容如下---------
if [ -z ${JAVA_HOME} ]
then
echo "JAVA_HOME not set yet,can't run java program!"
exit -1
fi
CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar
JLIBDIR=./lib
export JLIBDIR
for LL in `ls ${JLIBDIR}/*.jar`
do
CLASSPATH=${CLASSPATH}:${LL}
done
echo ${CLASSPATH}
export CLASSPATH
JAVA_OPTION="-Dfile.encoding=GBK -Xms256m -Xmx256m -XX:MaxPermSize=64m"
RUN_CLASS=batch.Main
${JAVA_HOME}/bin/java ${JAVA_OPTION} -classpath ${CLASSPATH} ${RUN_CLASS}
关于java代码批处理文件和java批处理是什么意思的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- thinkphp基类,thinkphp db类
- cgis实现格式转换的简单介绍
- Linux工具网页作命令,linux怎么制作网页
- python函数进程管理 python3进程管理
- 怎么看自己有独立显卡驱动,怎么看显卡驱动有没有安装
- 安装cad2016要安装net组件,cad2010安装net35
- redis怎么关联mysql,redis关联查询
- go语言申请内存 go语言内存管理
- 什么路由器能连接电视盒,什么路由器能连接电视盒子上