主题:[原创]SCJP考试试题解析五
SCJP考试试题解析五
我的QQ号:2535279
我的QQ群:58591592
www.javaedu.com.cn
The doesFileExist method takes an array of directory names representing a path from the root filesystem and a filename.The
method returns true if the file exists,false if does not.
Place the code fragments in position to complete this method.
//insert here A
for(String dir:directories){
//insert here B
}
//insert here C
//insert here D
Code Fragments
1.path = path.getSubdirectory(dir);
2.return !file.inNew();
3.return (file!=null);
4.String path="";
5.path = path.getFile(filename);
6.File path = new File("");
7.return file.exist();
8.return path.isFile();
9.File file = new File(path,filename);
10.path = new File(path,dir);
11.File path = new File(File.separator);
12.path = path+FileSeparator+dir;
当然了,要想做出这道题目,首先要知道这个程序段想要做什么,要完成什么任务.
这是从doesFileExist方法中截取的一段代码,doesFileExist方法完成的主要功能是:这个方法会获得一个字符串数组和一个文件名.这个字符
串数组存放的是从根目录开始的一个路径.doesFileExist方法中,如果文件存在,返回true,如果不存在,返回false;
既然知道了要做什么事情,我们就很清楚的知道我们要去做什么事情了:
首先,我们要先把字符串数组中的元素依次取出来,把它们连接到一起,形成一个完整的绝对路径.然后,创建用这个路径和已经得到的文件名做
参加,生成一个File对象,利用File对象的exist()方法,来判断这个文件是否存在.
那么,我们的答案是什么呢:
A:4
B:12
C:9
D:7
我也试着写了一下测试类
import java.io.File;
public class Tester {
/**
* @param args
*/
public static void main(String[] args) {
String[] directories = new String[] { "D:", "homework", "d0427" };
String filename = "table.xml";
System.out.println(doesFileExist(directories, filename));
}
public static boolean doesFileExist(String[] directories, String filename) {
String path = "";
for (String dir : directories) {
path = path + File.separator + dir;
}
File file = new File(path, filename);
return file.exists();
}
}
在我的电脑里,D:\homework\d0427确实存在着一个文件table.xml,所以,返回值为true