30分求教在servlet中运行某个目录下的.class文件

stoneagecr 2006-08-10 07:14:50
例如在文件夹下有若干.class文件
求教如何在jsp中显示这些.class文件
并选择其一运行之?
...全文
231 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
d992901 2006-08-21
  • 打赏
  • 举报
回复
我以前以为不可以呢,
学到了,谢谢楼上的
jimshen 2006-08-14
  • 打赏
  • 举报
回复
main不能抛出异常吗?一样可以的!

stoneagecr(stoneagecr)你的System.out.println(fs[i]);写到循环外边去了,会出错

import java.io.*;
public class FileList
{
public static void main(String[] args) throws Exception
{
File dir = new File("f:/mambo");
File[] fs = dir.listFiles();
int i ;
for (i = 0; i < fs.length; i++) {
FileReader fr = new FileReader(fs[i]);
System.out.println(fs[i].getName()); //输出文件名
}
}
}
d992901 2006-08-14
  • 打赏
  • 举报
回复
楼上的 main函数可以throws exception吗。
如果这么写了,就不是main函数了吧。。
jimshen 2006-08-14
  • 打赏
  • 举报
回复
public static void main(String[] args) throws Exception

或者用try...catch进行异常处理
stoneagecr 2006-08-14
  • 打赏
  • 举报
回复
to jimshen:
谢谢
我试了下你的代码
报错:
FileList.java:13: unreported exception java.io.FileNotFoundException; must be ca
ught or declared to be thrown
FileReader fr = new FileReader(fs[i]);

我的测试代码如下:
import java.io.*;
public class FileList
{
public static void main(String[] args)
{
File dir = new File("f:/mambo");
File[] fs = dir.listFiles();
int i ;
for (i = 0; i < fs.length; i++) {
FileReader fr = new FileReader(fs[i]);
fs[i].getName(); //得到文件名
}

System.out.println(fs[i]);
}
}
有什么地方不对吗 请教
jimshen 2006-08-13
  • 打赏
  • 举报
回复
现在要做的就是从某个文件夹里得到.class文件名的String就可以了

--------------

如果知道具体文件夹的位置,可以用

File dir = new File("e:/cfaq");
File[] fs = dir.listFiles();

for (int i = 0; i < fs.length; i++) {
FileReader fr = new FileReader(fs[i]);
fs[i].getName(); //得到文件名
....
}
stoneagecr 2006-08-13
  • 打赏
  • 举报
回复
up
xlyyc 2006-08-11
  • 打赏
  • 举报
回复
LZ要实现动态加载?
zhmt 2006-08-11
  • 打赏
  • 举报
回复
up!

mark!


stoneagecr 2006-08-11
  • 打赏
  • 举报
回复
显示应该就是文件的操作吧?

运行的话我打算在servlet里用类似下面的代码实现
String [] arguments=new String[]{"-classpath","d:\\","d:\\"+filename};
javac.compile(arguments);
String result=filename.substring(0,filename.indexOf('.'));
Process child=Runtime.getRuntime().exec("java -classpath d:\\ "+result);
System.out.println("java -classpath d:\\ "+result);

就是显示并选择的过渡代码不知道怎么写
求教
huihui0103 2006-08-11
  • 打赏
  • 举报
回复
显示是可以,运行的话成问题了
lzmhehe 2006-08-11
  • 打赏
  • 举报
回复
不能看到
否则 就太不安全了
stoneagecr 2006-08-11
  • 打赏
  • 举报
回复
to xlyyc:
差不多 但有点区别 动态加载要用到reflect
我这里直接用相当于手动编译的代码简化了
String [] arguments=new String[]{"-classpath","d:\\","d:\\"+filename};
javac.compile(arguments);
String result=filename.substring(0,filename.indexOf('.'));
Process child=Runtime.getRuntime().exec("java -classpath d:\\ "+result);
System.out.println("java -classpath d:\\ "+result);

现在要做的就是从某个文件夹里得到.class文件名的String就可以了

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧