Java中File类-File类的的获取功能

      接着来学习Java中的File类的方法,这篇来学习获取功能,也就是API文档中看到的getxxx方法。主要有获取绝对路径,获取路径,获取名称,获取长度,字节数,获取最后一次修改时间,毫秒值,获取指定路径下所有文件或者文件夹的名称的数组,获取指定路径下文件或文件夹的File数组。


1.获取绝对路径

       在Eclipse项目的根目录下创建一个abc.txt和aaa文件夹,下面演示abc.txt和aaa文件夹的在磁盘的绝对路径,绝对路径就是从盘符开始的路径。


   
   
  1. package file;
  2. import java.io.File;
  3. public class Demo1_File {
  4. public static void main(String[] args) {
  5. File file1 = new File( "abc.txt");
  6. //获取文件的绝对路径
  7. System.out.println(file1.getAbsolutePath());
  8. File dir1 = new File( "aaa");
  9. System.out.println(dir1.getAbsolutePath());
  10. }
  11. }

运行效果:

C:\Users\Administrator\workspace\JavaDemo\abc.txt
C:\Users\Administrator\workspace\JavaDemo\aaa


2.获取路径

和上面获取绝对路径对比,其实getPath()方法默认输出是文件的相对路径。


  
  
  1. package file;
  2. import java.io.File;
  3. public class Demo1_File {
  4. public static void main(String[] args) {
  5. File file1 = new File( “abc.txt”);
  6. //获取文件的路径
  7. System.out.println(file1.getPath());
  8. File dir1 = new File( “aaa”);
  9. System.out.println(dir1.getPath());
  10. }
  11. }

运行之后输出:

abc.txt
aaa


3.获取名称 getName()

这个就是拿到文件或文件夹的名称


  
  
  1. package file;
  2. import java.io.File;
  3. public class Demo1_File {
  4. public static void main(String[] args) {
  5. File file1 = new File( “abc.txt”);
  6. //获取文件的路径
  7. System.out.println(file1.getName());
  8. File dir1 = new File( “aaa”);
  9. System.out.println(dir1.getName());
  10. }
  11. }

运行:

abc.txt
aaa


4.获取字节长度(个数)

这个我们在abc.txt写点内容,这个获取长度就统计里面字符的个数。


  
  
  1. package file;
  2. import java.io.File;
  3. public class Demo1_File {
  4. public static void main(String[] args) {
  5. File file1 = new File( “abc.txt”);
  6. //获取文件的路径
  7. System.out.println(file1.length());
  8. }
  9. }

我这边打印出7个,就是abc.txt 随便写了几个英文字母。


5.获取最后一次修改时间

可以获取文件夹或者文件的最后一次修改时间。


  
  
  1. package file;
  2. import java.io.File;
  3. public class Demo1_File {
  4. public static void main(String[] args) {
  5. File file1 = new File( “abc.txt”);
  6. //获取文件的最后一次修改时间
  7. System.out.println(file1.lastModified());
  8. File dir = new File( “aaa”);
  9. System.out.println(dir.lastModified());
  10. }
  11. }

运行,打印的是一个从1970年1月1号0时0分0秒到文件修改的时间的毫秒值

1530977356336
1530805106868

      如果想把这个修改时间换成格式化,我们可以利用Date类的方法去实现。后多后台系统,我们可以看到,文件的最后一次修改时间就是这么得到的。


6.获取指定路径下文件的名称数组

例如我想获取我C盘Program File这层下文件和文件夹的名称的数组。


  
  
  1. package file;
  2. import java.io.File;
  3. public class Demo1_File {
  4. public static void main(String[] args) {
  5. File file1 = new File( “C:\Program Files”);
  6. String[] arr = file1.list();
  7. for (String string : arr) {
  8. System.out.println(string);
  9. }
  10. }
  11. }

运行打印出来,是你自己C盘下Program Files下文件夹的名称。


7.获取指定路径下文件对象

这个和上面获取指定路径下的文件名称数组不一样,这个是获取文件对象数组。


  
  
  1. package file;
  2. import java.io.File;
  3. public class Demo1_File {
  4. public static void main(String[] args) {
  5. File file1 = new File( “C:\Program Files”);
  6. File[] files = file1.listFiles();
  7. for (File file : files) {
  8. System.out.println(file);
  9. }
  10. }
  11. }
      运行之后,打印出了文件的绝对路径。其实我们是获取的没一个File对象,上面刚刚File类重写了toString方法,所以默认打印文件的绝对路径,当然我们可以拿到文件对象之后做一些其他事情,例如判断文件是否文件还是文件夹,文件大小等。

猜你喜欢

转载自blog.csdn.net/A_102/article/details/84848040