「java运行批处理文件」Java批处理
本篇文章给大家谈谈java运行批处理文件,以及Java批处理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA执行BAT文件,请求高手帮助。。。。
- 2、java运行.bat语句
- 3、java编程 批处理
- 4、Java如何调用可执行文件和批处理命令
- 5、Java如何调用可执行文件和批处理命令-JSP教程,Java技巧及代码
- 6、怎么在java里打开bat文件
JAVA执行BAT文件,请求高手帮助。。。。
我当时解决的办法是。
p.getOutputStream()
p.getErrorStream()
都不停地往外读取内容。
原因是这样的,bat命令输出的内容会输出到一块缓冲区内存中。
如果你不及时读取出来,当缓冲区内存满了以后,
bat命令会停止执行。
所以办法就是要把执行bat命令的输出内容读取出来,不能让缓冲区满。
java运行.bat语句
在window下bat批处理文件调用实现java方法。
代码如下:
@echo off
echo 正在加密,请稍后....
echo path:%~dp0
set base=%~dp0
set class=%base%\bin
set libs=%base%\lib
set class_path=%class%;%libs%\c3p0-0.9.1.2.jar;%libs%\mysql-connector-java-5.0.8-bin.jar;
java -classpath %class_path% com.test.Main
@pause
classes目录是java编译后的class目录
libs目录存放的所要使用到的jar
startNet.bat启动的bat文件
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如何调用可执行文件和批处理命令
有些第三方厂商如(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如何调用可执行文件和批处理命令-JSP教程,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(批处理)
文件
搜索
找
quick
batch
file
(de)compiler
任何bat、cmd批处理脚本编译
exe文件
使用
quick
batch
file
(de)compiler使用非
简单:
quickbfc
文件名.bat
文件名.exe(
批处理命令编译
执行文件)
quickbfd
文件名.exe
文件名.bat(
执行文件反编译
批处理命令)
我
再按第
种
通
java
调用
即
怎么在java里打开bat文件
public class MyTest {
public static void mm(){
Runtime run= Runtime.getRuntime();
try
{
run.exec("D:/abc.bat");//添加程序路径
}catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
Desktop.getDesktop().open(new File("d:/abc.bat"));
}
}
}
java运行批处理文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java批处理、java运行批处理文件的信息别忘了在本站进行查找喔。