import java.awt.*;
import java.applet.*;
import java.io.*;
import java.net.*;public class Test33 extends Applet 
{
Image image;
String str1;
String str2;

public void init() 
{
str1 = this.getDocumentBase().toString();
str2 = new File("file.txt").getAbsolutePath();
/////////File可以实现类似File(URL,"fileName"),就像下面的方式:
image = getImage(this.getDocumentBase(),"11.jpg"); //第1个参数是路径,第2个参数是文件名。

} public void paint(Graphics g) 
{
g.drawString(str1,50,100);
g.drawString(str2,50,150);
}
}我把class和html文件放在F:\classes\目录下,通过IE打开html,
str1输出:file:/F:/classes/Test33.htm
str2输出:C:\Documents and Settings\Administrator\桌面\file.txt我希望Str2输出类似str1,即:file:/F:/classes/file.txt 能够做到吗?

解决方案 »

  1.   

    html文件如下:<HTML>
    <HEAD>
    </HEAD>
    <BODY BGCOLOR="000000">
    <CENTER>
    <APPLET
    code = "Test33.class"
    width = "500"
    height = "500"
    >
    </APPLET>
    </CENTER>
    </BODY>
    </HTML>
      

  2.   

    我把class放在其他地方(如D盘中。。E:\aa\bb\cc\中)str2总是指向本机桌面(C:\Documents and Settings\Administrator\桌面\),程序中也没有设置这个路径啊
    ??????????如果转换的话,应该怎么转换???? 
      

  3.   

    str2 = new File("file.txt").getAbsolutePath(); 
      你NEW的时候是以本java源文件所在路径创建file.txt  你的源文件在桌面编译的吧,所以显示C:\Documents and Settings\Administrator\桌面\
    如果你想得到你要的结果可以这样写     
    String str2 = new File("F:/classes","file.txt").getAbsolutePath(); 
      

  4.   

    String str2 = new File("F:/classes","file.txt").getAbsolutePath(); 
      

  5.   

    TJYnebula:可能我说的不是太清楚。
    1、file.txt不是我创建的,是我要读已存在的文件。
    2、String str2 = new File("F:/classes","file.txt").getAbsolutePath(); 这种方式我实验过了,是把路径写死了。我需要的是像
    image = getImage(this.getDocumentBase(),"11.jpg");中的this.getDocumentBase()自动定位class路径。
    (因为String str2 = new File("F:/classes","file.txt").getAbsolutePath(); ,把如果把该applet放在服务器上,在另外一个client上访问,还需要在该client上的F:/classes目录下放file.txt文件才行,我希望file.txt文件从服务器上取得)
      

  6.   


    String str2 = new File(System.getProperty("user.dir") + "\\" + "file.txt").getPath();
      

  7.   

    Wing198812:还是不行。
    我的代码如下:
    import java.applet.*;
    import java.awt.*;
    import java.io.*;
    public class FlashTest extends Applet
    {
        String str2;
        public void init()
        {
    str2 = new File(System.getProperty("user.dir") + "\\" + "file.txt").getPath();
    System.out.println("-----------"+str2);
        }
        public void paint(Graphics g)
        {
         g.setColor(Color.black);
    g.drawString(str2,100,100);
        }
    }<HTML>
    <HEAD>
    </HEAD>
    <BODY BGCOLOR="000000">
    <CENTER>
    <APPLET
    code = "FlashTest.class"
    width = "500"
    height = "300"
    >
    </APPLET>
    </CENTER>
    </BODY>
    </HTML>我用JCreator编译,工程目录是:C:\JCreatorV3\MyProjects\FlashTest
    通过JCreator运行,str2内容是:C:\JCreatorV3\MyProjects\FlashTest\classes\file.txt我通过IE打开(自己配了个tomcat,http://localhost:8080就指向了C:\JCreatorV3\MyProjects\FlashTest\classes\FlashTest.htm),
    Str2内容是:C:\Documents and Settings\Administrator\桌面\file.txt
    其实我希望str2的内容不变化,是一个固定的地址(最好是URL格式的)。
      

  8.   

    fifaqzx:
    参数的形式我也试过了。我将来是需要把这个Applet放在linux服务器上,然后在windows客户器上IE访问。
    如果把参数指到linux目录(如/home/applet/file.txt)下,在windows机上还是不不能找到file.txt文件,找的地方好象是在windows下找的。
    但是把参数指定为C:\applet\file.txt,然后在客户机的c:\applet\目录下放file.txt文件就能正常访问。
    我希望file.txt从服务器上拿。。