java学习总结(文件操作)

Java文件操作的学习总结:

1.文件
 1.标准文件:就像图片,音乐文件等。
 2.目录文件:也就是平常所说的文件夹。
 3.虚拟内存文件:系统在运行程序时生成的临时性文件。

2.文件的路径
 1.相对路径:相对于某一文件的路径,形象地说是把两文件的绝对路径相同的部分砍掉,剩下的就是相对路径
 如:
  A文件是"D:\My Documents\StudySample\src\cn\xmh",
  B文件是"D:\My Documents\StudySample\src\netjava\cjl",
  则B相对A的路径是"\netjava\cjl";
 2.绝度路径:从磁盘根目录算起的路径名
  如:"G:\TDDOWNLOAD\数据结构"。

3.File是一个类,位于java.io包中。我们可以用File类创建文件对象,并对文件对象进行各种操作,如读写数据。

4.File类中的构造器以及各种方法
 1.构造器
 
  1.最常用的一种,根据字符串型的路径名创建文件对象
  File(String pathname)
  示例:

String path = "D:\\My Documents\\StudySample";
java.io.File file = new java.io.File(path);

 
    2.在一个父目录对象下面创建一个名字为child的文件对象,child为要创建的文件的名字
  File(File parent,String child)//这里的parent是File类型的,也就是说它是文件对象
  File(String parent,String child)//这里的parent是String类型的,它代表的是父目录的路径
 
 2.文件对象操作方法
  1.exists():判断File对象指向的文件是否存在,返回一个boolean类型的值,true或者false。
  2.isDirectory():判断File对象指向的文件是否为目录,返回一个boolean类型的值,true或者false。
  3.isFile():判断File对象指向的文件是否是标准文件,返回一个boolean类型的值,true或者false。
  4.getName():获取文件的名字(不带文件的路径),返回的是String类型的值。
  5.length():得到File对象指向文件的长度,以字节计算,返回一个长整形的值(long);
   注意:在系统中,文件夹(目录)的大小为零,也就是不占用空间,使用length()时返回的是0
  6.mkdir():根据File对象的名字(路径)创建一个目录(文件夹),如果是相对目录,则新建的目录在当前目录下
   如在工程StudySample中运行
   String path = "study";
   java.io.File file = new java.io.File(path);
   file.createNewFile();
   这样就会在StudySample目录下创建一个名为"study"的文件夹(目录)。
   如果已经存在同名的文件,则抛出异常信息。
  7.mkdirs():如果File对象名字有多级目录,则可以调用该方法一次性创建多级目录。
  8.createNewFile():用来创建标准文件的方法
   如下示例:
   

String path = "D:\\My Documents\\StudySample\\test.txt";
java.io.File file = new java.io.File(path);
file.createNewFile();

    这样就会在"D:\My Documents\StudySample"目录下创建一个名为"test.txt"的记事本。
  9.delete():调用该方法可以删除File对象所指向的文件。
  
5.文件的操作实例:

import java.io.File;

public class FileExercise {

 /**
  * @param args
  */
 public static void main(String[] args) throws Exception {
  System.out.println("当前操作系统的名称分隔符是:" + java.io.File.separator);
  System.out.println("当前操作系统的路径分隔符是:" + java.io.File.pathSeparator);
  // 字符串类型的文件名
  String fileName = "xiong.txt";
  // 实例化文件对象
  java.io.File file = new java.io.File("src", fileName);
  java.io.File file1 = new java.io.File(
    "D:\\My Documents\\StudySample\\src\\xiong");
  java.io.File file2 = new java.io.File(
    "D:\\My Documents\\StudySample\\src");
  // 创建一个文件
  file.createNewFile();

  boolean b;// 申明一个boolean类型的变量

  // 测试应用程序是否可以执行该文件
  b = file.canExecute();
  System.out.println("测试应用程序是否可以执行该文件" + b);

  // 测试用用程序是否可以读取该文件
  b = file.canRead();
  System.out.println("测试用用程序是否可以读取该文件" + b);

  // 测试用用程序是否可以修改该文件
  b = file.canWrite();
  System.out.println("测试用用程序是否可以修改该文件" + b);

  // 测试此抽象路径名表示的文件或目录是否存在。
  b = file.exists();
  System.out.println("测试此抽象路径名表示的文件或目录是否存在" + b);

  // 按字母顺序比较两个抽象路径名
  int i = file.compareTo(file1);
  System.out.println(i);

  String path;
  // 返回此抽象路径名的绝对路径名字符串
  path = file.getAbsolutePath();
  System.out.println(path);

  // 返回此抽象路径名的规范路径名字符串
  path = file.getCanonicalPath();
  System.out.println(path);

  long free;
  // 返回此抽象路径名指定的分区中未分配的字节数
  free = file.getFreeSpace();
  System.out.println("此抽象路径名指定的分区中未分配的字节数" + free);

  // 返回由此抽象路径名表示的文件或目录的名称
  String name;
  name = file.getName();
  System.out.println(name);
  name = file1.getName();
  System.out.println(name);

  // 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
  String parentpath;
  parentpath = file.getParent();
  System.out.println(parentpath);
  parentpath = file1.getParent();
  System.out.println(parentpath);

  // 返回此抽象路径名指定的分区上可用于此虚拟机的字节数
  free = file.getUsableSpace();
  System.out.println("此抽象路径名指定的分区上可用于此虚拟机的字节数" + free);

  // 计算此抽象路径名的哈希码
  i = file.hashCode();
  System.out.println(i);

  // 测试此抽象路径名是否为绝对路径名
  b = file.isAbsolute();
  System.out.println("file对象的抽象路径名是否为绝对路径名:" + b);
  b = file1.isAbsolute();
  System.out.println("file1对象的抽象路径名是否为绝对路径名:" + b);

  // 返回此抽象路径名表示的文件最后一次被修改的时间
  long time = file.lastModified();
  System.out.println(time);

  // 返回由此抽象路径名表示的文件的长度
  long length = file.length();
  System.out.println("文件的长度:" + length);

  // list()-->返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
  String[] array = file2.list();
  for (i = 0; i < array.length; i++) {
   System.out.println(array[i]);
  }

  // listFiles()-->返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件
  java.io.File[] array1 = file2.listFiles();
  for (i = 0; i < array1.length; i++) {
   System.out.println(array1[i]);
  }

  // listRoots()-->列出可用的文件系统根,静态方法
  java.io.File[] roots = File.listRoots();
  for (i = 0; i < roots.length; i++) {
   System.out.println(roots[i]);
  }
  // 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
  // file.deleteOnExit();
  
  //创建此抽象路径名指定的目录
  file1.mkdir();
  //重新命名此抽象路径名表示的文件
  java.io.File file4 = new java.io.File("src\\重命名文件");
  System.out.println(file1.renameTo(file4));
  //设置文件只读
  file.setReadOnly();
  //设置文件可写
  file.setWritable(true);
 }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值