[Java] java.io.File的基本使用以及关于Windows中大小写问题 →→→→→进入此内容的聊天室

来自 , 2019-08-21, 写在 Java, 查看 116 次.
URL http://www.code666.cn/view/905056c1
  1. package fengke.filedemo;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. /**
  6.  * java.io.File的基本使用以及关于Windows中大小写问题
  7.  * @author 锋客
  8.  *   注意:文件创建的异常;默认路径与绝对路径的问题;多级目录的创建
  9.  *       掌握三种构造方法;不能用于文件内容的访问。
  10.  *
  11.  */
  12.  
  13. public class FileDemo {
  14.     /* File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问
  15.      * File类提供的三个构造方法(重点)
  16.      *      1)File (String   pathname)    
  17.      *        例:File  f1=new File("FileTest1.txt");
  18.      *        注意:创建文件对象f1,f1所指的文件是在当前目录下创建的FileTest1.txt
  19.      *            默认路径问题
  20.      *      2)File (String  parent  ,  String child)  
  21.      *        例:File f2=new  File(“D:\\dir1","FileTest2.txt") ;
  22.      *        注意:D:\\dir1目录事先必须存在,否则异常
  23.      *      3)File (File    parent  , String child)      
  24.      *        例:File  f4=new File("\\dir3"); 目录          
  25.      *          File  f5=new File(f4,"FileTest5.txt");  
  26.      *          在如果 \\dir3目录不存在使用f4.mkdir()先创建
  27.      *File提供的方法:
  28.      *创建方法:
  29.      *    1.boolean createNewFile() 不存在返回true 存在返回false
  30.      *    2.boolean mkdir() 创建目录
  31.      *    3.boolean mkdirs() 创建多级目录
  32.      *删除方法:
  33.      *   1.boolean delete()
  34.      *   2.boolean deleteOnExit() 文件使用完成后删除
  35.      *判断方法:
  36.      *   1.boolean canExecute()判断文件是否可执行
  37.      *   2.boolean canRead()判断文件是否可读
  38.      *   3.boolean canWrite() 判断文件是否可写
  39.      *   4.boolean exists() 判断文件是否存在
  40.      *   5.boolean isDirectory() 判断是否为目录
  41.      *   6.boolean isFile() 判断是否为文件
  42.      *   7.boolean isHidden() 判断是否隐藏
  43.      *   8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断
  44.      *   9.boolean isFormField()
  45.      *             普通文本表单字段,还是一个文件表单字段,如果是普通表单字段则返回true,否则返回false。
  46.      *             因此,可以使用该方法判断是否为普通表单域,还是文件上传表单域
  47.      *  
  48.      *获取方法:
  49.      *   1. String getName()//获得文件上传字段中的文件名
  50.      *                      注意:IE或FireFox中获取的文件名是不一样的,IE中是绝对路径,FireFox中只是文件名。
  51.      *   2. String getPath()//默认路径:创建时是相对路径则为相对路径,创建时为绝对路径则为绝对路径
  52.      *   3. String getAbsolutePath()//绝对路径
  53.      *   4. String getgetCanonicalPath()//全路径
  54.      *                                   如果构造的时候就是全路径那直接返回全路径
  55.      *                                   如果构造的时候试相对路径,返回当前目录的路径+构造file时候的路径
  56.      *   4. String getParent()//如果没有父目录返回null
  57.      *   5. long lastModified()//获取最后一次修改的时间
  58.      *   6. long length()
  59.      *   7. boolean renameTo(File f)
  60.      *   8. File[] liseRoots()//获取机器盘符
  61.      *   9. String[] list()
  62.      *   10.String[] list(FilenameFilter filter)
  63.      *   11.String getFieldName()//返回表单标签name属性的值。<input type="text" name="column" />的value
  64.      *  
  65.      */
  66.         public static void main(String[] args) throws IOException {
  67.                 // 了解构造函数的情况  查帮助
  68.                 File file = new File("E:\\javaio\\fengke");
  69.                 //System.out.println(file.exists());
  70.                 if(!file.exists())
  71.                         file.mkdirs(); //file.mkdir()
  72.                 else
  73.                         file.delete();
  74.                 //文件或目录还未创建
  75.                 System.out.println("**********创建file,file2,file3前********");
  76.                 //是否是一个目录  如果是目录返回true,如果不是目录or目录不存在返回的是false
  77.                 System.out.println("是否存在目录E:\\javaio\\fengke====="+file.isDirectory());
  78.                 //是否是一个文件
  79.                 System.out.println("是否是个文件E:\\javaio\\fengke====="+file.isFile());
  80.                
  81.                 //File file2 = new File("e:\\javaio\\日记1.txt");
  82.                 File file2 = new File("e:\\javaio","日记1.txt");
  83.                 //路径的使用
  84.                 File file3 = new File("日记2.txt");
  85.                 if(!file2.exists())
  86.                         try {
  87.                                 file2.createNewFile();
  88.                         } catch (IOException e) {
  89.                                 // TODO Auto-generated catch block
  90.                                 e.printStackTrace();
  91.                         }
  92.                 else
  93.                         file2.delete();
  94.                 if(!file3.exists())
  95.                         try {
  96.                                 file3.createNewFile();
  97.                         } catch (IOException e) {
  98.                                 // TODO Auto-generated catch block
  99.                                 e.printStackTrace();
  100.                         }
  101.                 else
  102.                         file3.delete();
  103.          //常用的File对象的API
  104.                 System.out.println("*************路径问题**************");
  105.                 System.out.println("输出目录file = new File('E:\\javaio\\fengke'):"+file);//file.toString()的内容
  106.                 System.out.println("目录file = new File('E:\\javaio\\fengke')的绝对路径:"+file.getAbsolutePath());
  107.                 System.out.println("目录file = new File('E:\\javaio\\fengke')的默认路径:"+file.getPath());
  108.                 System.out.println("文件file3 = new File('日记2.txt')的默认路径:"+file3.getPath());
  109.                 System.out.println("*************文件与目录的操作**************");
  110.                 System.out.println("输出目录名字:"+file.getName());
  111.                 System.out.println("输出文件名字:"+file2.getName());
  112.                 System.out.println("输出目录的上级目录"+file.getParent());
  113.                 System.out.println("输出文件的上级目录"+file2.getParent());
  114.                 System.out.println("输出文件的上级目录的绝对路径"+file.getParentFile().getAbsolutePath());
  115.                 System.out.println("file2文件是否隐藏:"+file2.isHidden());
  116.                 /*
  117.                  *
  118.                  * window是大小写不敏感的,所以在windows上当文件不存在时,得到的路径就是按照输入的路径。
  119.                  * 但当文件存在时,就会按照实际的情况来显示。
  120.                  * 这也就是建立文件后和删除文件后会有不同的原因。文件夹和文件类似。
  121.                  */
  122.                 //关于Windows中大小写问题
  123.                 System.out.println("================Windows中大小写问题==============");
  124.                  File file_windows = new File("e:\\Text.txt");
  125.              System.out.println(file_windows.getCanonicalPath());
  126.              //当用户没有文件text.txt时,输出结果为E:\Text.txt
  127.              //当用户已经创建了文件text.txt,输出结果为E:\text.txt
  128.                
  129.         }
  130.  
  131. }
  132.  

回复 "java.io.File的基本使用以及关于Windows中大小写问题"

这儿你可以回复上面这条便签

captcha