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);
}
}
分享到:
相关推荐
总结起来,Apache Commons IO的`FileUtils`类极大地简化了Java中的文件操作,通过其提供的各种静态方法,我们可以高效、稳定地完成文件的复制、移动、清理和删除等任务。这个工具类在实际开发中非常实用,对于提升...
在Java编程语言中,文件读写操作是程序与外部数据交互的基本能力。这篇学习笔记将带你初探这个领域,适合新手入门。我们将讨论如何使用Java进行文件的读取...通过不断地实践和学习,你将能熟练掌握Java的文件操作技能。
- **文件操作**:使用File类进行文件和目录的创建、删除等操作,理解相对路径和绝对路径。 - **IO流**:学习IO流的概念,区分字节流和字符流,掌握文件流、转换流、缓冲流和对象流的使用。 - **流的组合**:使用不同...
从给定的文件信息中,我们可以提炼出一系列关于Java学习的关键知识点,涵盖了日期处理、GUI设计、集合框架、IO操作、多线程、网络编程以及数据库连接等核心领域。以下是对这些知识点的详细阐述: ### Java日期处理 ...
通过上述内容的学习,我们不仅了解了如何使用`FileInputStream`和`FileOutputStream`来进行二进制文件的读写操作,还掌握了一些重要的实践技巧。这对于实际工作中处理各种文件类型都是非常有帮助的。
### Java视频学习总结知识点 #### 抽象方法与抽象类 在Java中,抽象方法是一种没有具体实现(方法体)的方法,它仅提供方法签名,而具体的实现留给子类完成。一个类如果包含一个或多个抽象方法,那么这个类必须被...
Java学习是一条漫长而充满挑战的道路,涉及到众多的领域和技术。在这个过程中,J2SE(Java Standard Edition)是基础,提供了Java语言的核心功能,包括面向对象编程、异常处理、集合框架、多线程等核心概念。J2SE的...
这份"JAVA学习历程(基础知识个人总结1,2,3)"的文档集合,显然是一位热情的学习者在探索JAVA世界时,逐步积累并整理出的心得体会。这些文档可能包含了从入门到进阶的各类关键知识点,旨在帮助读者构建全面的JAVA...
### Java学习总结:C程序员的感悟 #### 第一章:Java入门(C与Java的差异) ##### 基本数据类型: Java的数据类型与C语言相比,在命名上有一定区别,例如整型在C中为`int`,而在Java中也为`int`,但Java的数据...
Java的I/O库提供了丰富的类和方法用于文件操作、流处理和网络通信。Socket编程是Java进行网络通信的主要方式,支持TCP/IP协议。 六、多线程 Java内置了对多线程的支持,通过Thread类和Runnable接口可以创建并管理多...
这篇"JAVA学习总结22"可能是博主对这两个主题的深入探讨。由于没有具体的博客内容,我可以根据一般的JAVA学习路径来阐述这两个标签所涵盖的知识点。 首先,让我们来谈谈"源码"。在JAVA学习中,阅读源码能帮助我们...
根据提供的文件内容,以下是对“Java学习总结.pdf”文件中知识要点的详细解读: 1. Java开发环境的搭建与配置: - Linux环境下安装JDK的步骤: 在Linux环境下,首先通过Oracle官方网站下载JDK安装包,然后给予...
Java学习是许多IT从业者入门和进阶的重要环节,它涵盖了广泛的知识领域,包括基础语法、面向对象编程、数据库交互、Web开发框架等。以下是对这些关键知识点的详细讲解。 首先,Java是一种强类型、面向对象的编程...
总结来说,Java操作XML文件涉及多种API和库,如DOM、SAX、StAX以及第三方库JDOM、DOM4J等。理解这些工具的工作原理和使用方法是Java开发中的重要技能,压缩包中的项目和jar包提供了一个实际操作的环境,有助于加深...
总结来说,这个项目展示了如何使用Java的音频API处理音频文件,包括读取、处理和保存,这对于理解和实现音频处理功能具有重要的学习价值。对于Java开发者来说,掌握这些技能有助于开发更丰富的多媒体应用程序。
Java基础总结大全涵盖了Java编程语言的核心概念,从JVM、JRE和JDK的区别,到环境变量的设置,再到变量的定义和类型转换,深入浅出地讲解了Java的基础知识。 1. JVM、JRE和JDK: - JVM(Java Virtual Machine)是...
总结来说,Java IO流是一个庞大的体系,覆盖了从基础的文件操作到复杂的网络通信,理解并熟练掌握这一部分将极大地提升Java开发者的技能。通过学习和实践,开发者可以灵活地处理各种数据输入输出场景,为应用程序...
这份"全面的Java学习总结笔记"包含了从基础到高级的大量知识点,旨在帮助学习者构建坚实的Java编程基础。 首先,Java的学习始于基础。这包括理解Java语言的基本语法,例如变量、数据类型(如整型、浮点型、字符型和...