IO流之File类查询方法(引发有关length()的面试题)
程序员文章站
2023-12-22 20:35:16
...
IO流之查询方法(引发有关length()的面试题)
1.判断该抽象路径的文件是否存在:file.exists()
2.查询文件名:file.getName(),包括后缀名
3.查询文件路径:file.getPath(),绝对路径
4.查询文件大小:file.length(),一个英文字母0字节,一个汉字3字节U(utf-8编码,如果是GB2312编码,则一个汉字2个字节)
file.getName()
file.getPath()
file.length()
根据File类的length()方法想到面试题知识点:
File类:length(),是File的方法,返回文件字节大小
String字符串:length(),是String方法,返回字符串的个数
数组:数组名.length,length是属性,获取数组中元素的个数
集合:集合对象名.size(),是集合的方法,返回集合中元素的个数
面试题小结:
String类,File类,集合类调用的都是方法,都带括号,所以是length()或者size(),而数组调用的是数组的属性,所以是lentgth,
判断是否是类一般通过首字母是否大写来判断(当然包含某些特例),String,File,Collection首字母都是大写,而数组的创建:int[] ints = new int[]中的首字母是小写,不属于类,所以调用的是length属性
代码实现
public class Test {
public static void main(String[] args) {
File file = new File("H:\\IO流实验\\test.txt");
//1判断该抽象路径的文件是否存在,存在则提示,否则创建
boolean flag = file.exists();
if (flag){
System.out.println("该文件已存在");
}else {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//2查询文件名
String name = file.getName();
System.out.println("文件名:"+name);//文件名:test.txt
//3查询文件路径
String path = file.getPath();
System.out.println("文件路径"+path);//绝对路径:文件路径H:\IO流实验\test.txt
//4查询文件大小
long length = file.length();
System.out.println(length);//0
}
}