public void actionPerformed(ActionEvent e)
{
String d = tf.getText();
//两种情况:
//(1) E:\Java学习\Java基础视频教程\第22天
//(2) E:\\Java学习\\Java基础视频教程\\第22天
System.out.println(d);//该代码能明确显示出获取到的字符串
File dir = new File(d); //如果是第一种情况,\为转移字符,并转义了其后第一个字符。
if(!(dir.exists()))
{
ta.setText("该文件夹不存在!!");
}
File[] files = dir.listFiles();
ta.setText("");
for(File f : files)
{
ta.append(f.getPath()+"\r\n");
}
tf.setText("");
}
});
如注释,如果是第一种情况,字符串中的\转义了其后的第一个字符,这样该字符串就不符合文件的路径名格式。为什么运行中依然能得到正确的结果?
目前测试结果:两种情况都能正常运行,并且结果正确。
求高手解释
|
|