本帖最后由 魏征 于 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();
}
}
|