黑马程序员技术交流社区
标题:
file类结合awt包的问题
[打印本页]
作者:
魏征
时间:
2012-5-8 21:20
标题:
file类结合awt包的问题
本帖最后由 魏征 于 2012-5-8 23:07 编辑
这是一个图形化界面,在文本框tf总输入路径,点击“转到”,ta文本框总显示其路径下的文件及文件夹,当我输入c:\时,结果正常,但当我输入c:时显示的结果为C:\Documents and Settings\Administrator路径下的文件及文件夹,同样不解的还有输入d:时显示的是此class文件所在的路径下的文件及文件夹(此class文件在d盘中)。但是其他盘符如e:和e:\输入点击“转到”结果相同,这是为什么
请高手指教。
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class myWindowDemo
{
private Frame f;
private Button b;
private TextField tf;
private TextArea ta;
myWindowDemo()
{
init();
}
public void init()
{
f=new Frame("my Frame");
f.setBounds(300,200,500,400);
f.setLayout(new FlowLayout());
tf=new TextField(25);
ta=new TextArea(30,40);
b=new Button("转到");
f.add(tf);
f.add(b);
f.add(ta);
myEvent();
f.setVisible(true);
}
public void myEvent()
{
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
ta.setText("");
String s=tf.getText();
File file=new File(s);
if (file.exists()&&file.isDirectory())
{
String[]fi=file.list();
for (String str:fi)
{
ta.append(str+"\r\n");
}
}
else if(file.isFile()&&file.exists())
{ta.setText("是文件,请输入路径");
}
else
ta.setText("非法路径");
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
new myWindowDemo();
}
}
作者:
云惟桉
时间:
2012-5-8 23:34
最初在设置环境变量的时候,C:\Documents and Settings\Administrator应该就是默认在系统变量里的路径吧。
然后你自己的D:盘存放的既然是class文件,说明你开始的时候也把这个路径设在环境变量里了吧。
可能不加 \ 的时候,jvm会自动去寻找环境变量里当前盘下的路径值,因为GUI毕竟有些用到了系统的资源。
我理解是这样的。希望能帮到楼主。有错也请指正。
作者:
魏征
时间:
2012-5-9 13:05
哦明白了谢谢楼上的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2