如何通过批处理文件执行java
我正在编写一个类,当我双击批处理文件后,该类用于从命令提示符读取文本,但当我打开它时,它会提示NoClassDefinition发现错误,请任何人解决我放置的此问题。在TCPVisy文件夹中初始化文件。下面是我放在这里的代码
package com;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
public class TCPVisyMode {
public static String ip;
public static String port;
public TCPVisyMode() {
}
public static void main(String[] args) throws IOException {
TCPVisyMode visyMode = new TCPVisyMode();
DataInputStream dis
= new DataInputStream(visyMode.getClass().getResourceAsStream("CTASSimulator.config"));
String strLine;
while ((strLine = dis.readLine()) != null) {
String[] keyValues = strLine.split("=");
if (keyValues[0].equalsIgnoreCase("EQPTINFCLIENTIP")) {
ip = keyValues[1];
System.out.println("IP is " + ip);
} else if (keyValues[0].equalsIgnoreCase("EQPTINFSERVERPORT")) {
port = keyValues[1];
System.out.println("Port is " + port);
}
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Socket clientsoc = null;
BufferedReader responsereader = null;
DataOutputStream serverstream = null;
VisyReader reader = null;
String tempchar = "";
String inputstring = "";
while (true) {
try {
if (clientsoc == null) {
clientsoc = new Socket(ip, Integer.parseInt(port));
//clientsoc = new Socket(ip,port);
responsereader
= new BufferedReader(new InputStreamReader(clientsoc.getInputStream()));
serverstream = new DataOutputStream(clientsoc.getOutputStream());
reader = new VisyReader(responsereader);
reader.setName("VisyReader");
reader.start();
}
if (clientsoc != null) {
tempchar = br.readLine();
inputstring = inputstring + tempchar;
if (inputstring.startsWith("exit>>>")) {
serverstream.close();
br.close();
clientsoc.close();
break;
}
if (inputstring.endsWith(">>>")) {
inputstring = inputstring.replaceAll(">>>", "");
serverstream.write(new byte[]{31, 65});
serverstream.write(inputstring.getBytes());
serverstream.write(new byte[]{-1});
serverstream.flush();
inputstring = "";
}
} else {
try {
java.lang.Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
try {
serverstream.close();
serverstream = null;
clientsoc.close();
clientsoc = null;
} catch (Exception e1) {
// TODO Auto-generated catch block
// LogWriter.LogErrorMessage(e1);
clientsoc = null;
serverstream = null;
}
try {
java.lang.Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
}
我将命令放在TCPVisit文件夹中的批处理文件中。类文件位于
java -Xms512m -Xmx1024m -Dsun.lang.ClassLoader.allowArraySyntax=true -cp . TCPVisit/TCPVisyMode
pause
共 (0) 个答案