【发布时间】:2012-09-06 21:36:48
【问题描述】:
我有一个线程,当当前应用程序关闭时,它必须启动另一个类的main() 方法。
我在线程的run() 中包含了ClassName.main(someStringArray),但没有调用该方法。可能出了什么问题?
我定义的线程:
private class VideoCreator extends Thread{
public VideoCreator(){
pathToPass = savePath + "/" + "video.mov";
passVect.add("-w");
passVect.add("1280");
passVect.add("-h");
passVect.add("800");
passVect.add("-f");
passVect.add("25");
passVect.add("-o");
passVect.add(pathToPass);
}
@Override
public void run(){
try{
jpegFiles = Files.newDirectoryStream(Paths.get(pathToPass).getParent(),"*.jpg");
for(Path jpegFile : jpegFiles){
passVect.add(jpegFile.toString());
}
}catch(IOException e){
}
try{
JpegImagesToMovie.main((String[])passVect.toArray());
}catch(Exception e){
System.out.println("Dammit Error!");
e.printStackTrace();
}
}
public void cleanUp(){
}
String pathToPass;
Vector<String> passVect = new Vector<>(100,200);
DirectoryStream<Path> jpegFiles;
}
【问题讨论】:
-
有什么异常吗?
-
@MvG 类转换异常。我试图将从
java.util.Vector类'toArray返回的数组转换为String[]。向量是Vector<String> -
@ErhanBagdemir,引用的问题是关于在单独的进程中启动另一个应用程序,而不是同一进程的新线程。跨度>
-
@MvG 我刚刚发布了代码,所以看看它可能会有所帮助:)