『壹』 如何用批處理,啟動java的.class文件
建立一個內容為下面格式的bat文件即可了(具體內容需要依照你的情況修改):
前兩行是dos命令,用於進入你的class文件所在的文件夾(假設在c:\myjava\中)
path 那行是jdk 的bin文件夾
CLASSPATH那行是運行你的java class所需要的其他輔助的類的文件夾或者jar文件。
xxx是你的java類的完整運行路徑(如果在package中,需要加上package,如 java tool.MyTool,tool為package)
c:
cd c:\myjava\
set path=c:\j2sdk1_4_2_08\bin;
set CLASSPATH=.;C:\j2sdk1_4_2_08\lib\tools.jar;
java xxx
『貳』 如何把java中的項目做成批處理
這是我一個真實的項目。發布批處理程序,結構目錄如下:
data文件存放數據,etc存放配置文件,lib,存放項目jar包,startup.bat/startup.sh啟動腳本。
1、-----windows上.bat文件調用java程序。bat文件內容如下------
echooff
remsetupclasspath
echoset_CP=%%_CP%%;%%1>cp.bat
set_CP=.;classes;"%JAVA_HOME%libdt.jar";"%JAVA_HOME%lib ools.jar"
for%%iin(lib*.jar)docallcp.bat%%i
setCLASSPATH=%_CP%
delcp.bat
echo%CLASSPATH%
remsetJAVA_HOME=
setJAVA_OPTION=-Dfile.encoding=GBK-Xms256m-Xmx256m-XX:MaxPermSize=64m
setRUN_CLASS=batch.Main
"%JAVA_HOME%injava"%JAVA_OPTION%-classpath%CLASSPATH%%RUN_CLASS%
2、-------unix/linux上shell調用java程序,shello文件內容如下---------
if[-z${JAVA_HOME}]
then
echo"JAVA_HOMEnotsetyet,can'trunjavaprogram!"
exit-1
fi
CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar
JLIBDIR=./lib
exportJLIBDIR
forLLin`ls${JLIBDIR}/*.jar`
do
CLASSPATH=${CLASSPATH}:${LL}
done
echo${CLASSPATH}
exportCLASSPATH
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編程 批處理
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 {
ArrayList<String> fileListInDB = new ArrayList<String>();
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);
Stack<File> tmpStack = new Stack<File>();
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或者批處理命令 實現解壓一個rar或zip文件 到選擇的目錄下 並生成桌面快捷方式
/**
* 解壓課件包中的某個課件
* @param zipFilePath 課件包路徑
* @param outDirPath 輸出目錄路徑
* @return 解壓出來文件的絕對路徑,失敗返回null
* @throws IOException
*/
public String decompressAllFileToDir(String zipFilePath, String outDirPath) throws IOException {
ZipFile zip = new ZipFile(zipFilePath, "GBK");
@SuppressWarnings("unchecked")
Enumeration<ZipEntry> entries = zip.getEntries();
if (entries == null) {
return null;
}
java.io.File file = new java.io.File(outDirPath);
String path = file.getAbsolutePath();
file.mkdirs();
if (file.isFile()) {
return null;
}
while(entries.hasMoreElements())
{
ZipEntry entry = entries.nextElement();
String nameInZip = entry.getName().substring(entry.getName().lastIndexOf("/")+1);
InputStream is = zip.getInputStream(entry);
java.io.File tempFile = new java.io.File(nameInZip);
FileOutputStream fos = new FileOutputStream(new StringBuilder(path).append("/").append(tempFile.getName()).toString());
byte[] bytes = new byte[MAX_BUFFER];
int size = 0;
while ((size = is.read(bytes)) != -1) {
fos.write(bytes, 0, size);
}
}
return zipFilePath;
}
『伍』 java 調用批處理文件或可執行文件
用我這種方法就可以用java調用你想調用的程序,不管是exe,還是bat
public class Invoke {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
Process process = Runtime.getRuntime().exec("c:/cmd.bat");
}
}
.bat裡面寫入
C:\\hp\\飛秋FeiQ.exe//這個路徑就是你應用程序的路徑
就可以運行 了,具體思路是相當於你在cmd裡面直接輸入C:\\hp\\飛秋FeiQ.exe 應該滿意 了嘛