重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java代码批处理文件,批量处理文件代码

如何把java中的项目做成批处理?

这是我一个真实的项目。发布批处理程序,结构目录如下:

10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有衡东免费网站建设让你可以放心的选择与我们合作。

data文件存放数据,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程序

操作步骤

1、新建一个文件夹,将要执行java程序(可使用eclipse导出的可执行的jar包)拷贝到该文件夹中;

2、将jdk中jre文件夹拷贝到要执行的java程序所在的文件夹;

3、在java程序所在的文件夹中新建一个bat文件。

bat文件样例:

样例一:

@echo off

set PATH=.;%CD%\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编程 批处理

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; i childs.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代码批处理文件,批量处理文件代码
文章位置:http://cqcxhl.com/article/hsiojp.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP