关于batjava卡住的信息

博主:adminadmin 2022-12-08 09:27:07 61

今天给各位分享batjava卡住的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java调用bat,卡死在某一步

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

public class Test {

public static void main(String[] args) throws IOException {

Process p = Runtime.getRuntime().exec("cmd /c D:\\a.bat");

InputStream fis = p.getInputStream();

final BufferedReader br2 = new BufferedReader(new InputStreamReader(p.getErrorStream()));

InputStreamReader isr = new InputStreamReader(fis);

final BufferedReader br = new BufferedReader(isr);

Thread t1 = new Thread(){

public void run(){

String line = null;

try {

while ((line = br2.readLine()) != null) {

System.out.println(line);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

};

Thread t2 = new Thread(){

public void run(){

String line = null;

try {

while ((line = br.readLine()) != null) {

System.out.println(line);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

};

t1.start();

t2.start();

}

}

这样写就没问题了,API里有写:Because some native platforms only provide limited buffer size for standard input and output streams, failure to promptly write the input stream or read the output stream of the subprocess may cause the subprocess to block, and even deadlock.因为本地进程输入输出缓存有限,找不到TaReport会导致stderr输出,你不快点读取的话Process就挂在那了。

下面是输出 :

******************************************

TAReport Start, wait for a moment please!!!

******************************************

java.lang.NoClassDefFoundError: TaReport

Caused by: java.lang.ClassNotFoundException: TaReport

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Could not find the main class: TaReport. Program will exit.

Report has been sent, please check mail box!!!

Exception in thread "main"

本人刚开始学java,刚一开始就卡住了

别灰心,万事开头难,迈过去 就好。

你看看是不是你建立对的文件名 和类名是不是不一致?就是文件名是不是HelloWorld.java

运行JAVA程序首先要先编译

1、编译  使用javac.exe  会出现.class文件

源文件里面有几个class类就会对应几个.class文件

.java.bat文件是备份文件,去掉.bat就是一个java文件

2、运行   使用java.exe  当有多个.class文件时,想运行哪个就可以

执行对应的字节码文件  但是有的class里没有main函数,会导致运行错误!

利用.bat文件运行java程序出现异常

可能你没有理解包的概念。对于一个包进程级的访问一般是从包的“外部”访问的。这时,包是一个整体,而你进入了的内部调用某个类是不对的。

举例说吧,你的类KAStu.class如果在包a里,那么编译后它也会在文件夹下。在运行这个包时,应该在a的上级文件夹里运行这个类。所以你的.bat这样写应该就对了,假设KAStu.class在a里,在a的父目录里建立这个.bat,然后内容为java a.KAStu 就行。

至于set classpath,你没有用到那D:\Program_Files\Java\jdk1.5.0_14\lib\ 的特殊的类是没有必要的

不过话说回来,如果你的KAStu是在默认包里,我上面的话就不对了。但是你的.bat应该会正常运行

关于batjava卡住和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-08,除非注明,否则均为首码项目网原创文章,转载请注明出处。