我写了一个JApplet读取服务器上的一个3D模型文件,(该文件是用java 3d 加载的),以下是applet中获取连接代码(就在这里出错了):
......
URL FileUrl = null;
try{
    FileUrl= new URL(getCodeBase()+"b.obj");
    System.out.println("True1");     
}catch(MalformedURLException e){
e.printStackTrace();
System.out.println("False1");
}
Reader reader=null;
InputStream is =null; 
try{
is = FileUrl.openStream();//就是在一步出错了
reader=new BufferedReader(new InputStreamReader(is));
System.out.println("True2");

}catch(IOException e){
e.printStackTrace();
System.out.println("False2");
}
.....
出错的提示如下:
True1
java.io.FileNotFoundException: http://***.***.***/b.obj  ----(安全起见这里我把服务器的域名*了)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at show_3d.createSceneGraph(show_3d.java:89)
at show_3d.init(show_3d.java:132)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
False2
java.lang.NullPointerException
at java.io.StreamTokenizer.<init>(Unknown Source)
at com.sun.j3d.loaders.objectfile.ObjectFileParser.<init>(ObjectFileParser.java:175)
at com.sun.j3d.loaders.objectfile.ObjectFile.load(ObjectFile.java:1226)
at show_3d.createSceneGraph(show_3d.java:100)
at show_3d.init(show_3d.java:132)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
但是我直接用applet读取服务器上的.txt文件就没有问题,怎么读取一个.obj格式的文件就出错呢,怎么办?

解决方案 »

  1.   

    浏览器直接: http://***.***.***/b.obj   看看能不能收到文件
      

  2.   

    不能收到文件,提示:无法找到该页,但是我这个文件明明放在服务器的这个目录下的啊,真是奇怪,然后我在浏览器中直接输入http://***.***.***/test.txt,(test.txt是一个普通文档)却收到并显示文件了,搞不懂
      

  3.   

    难道URL不能打开服务器上的(非文档文件)模型文件
      

  4.   

    可以通过applet 与servlet通讯来读取么?
      

  5.   

    哎,自己搞定了,需要通过和servlet来读取