今天学习了java中关于文件的简单操作(主要是java.io.File类)。
1下面就是对于这个类中一些基本方法的简单试用:
//开始测试方法
//1.判断应用程序是否可以执行此抽象路径名表示的文件的方法
Boolean b =file.canExecute();
System.out.println("能否执行:"+b);
//2.判断应用程序是否可以读取此抽象路径名表示的文件
Boolean b1 =file.canRead();
System.out.println("能否读取:"+b1);
//3.判断应用程序是否可以修改此抽象路径名表示的文件
Boolean b2 =file.canWrite();
System.out.println("能否修改:"+b2);
System.out.println("---------传说中的分隔符---------");
//4.按字母顺序比较两个抽象路径名
//创建一个新的对象
String s = "D:\\hw\\test1.txt";
java.io.File f = new java.io.File(s);
int i=file.compareTo(f);
System.out.println("两个抽象路径名比较值i:"+i);
System.out.println("---------传说中的分隔符---------");
//5.创建新的空文件
String str1 = "D:\\hw\\test2.txt";
java.io.File file1 = new java.io.File(str1);
try{
Boolean b3 = file1.createNewFile();
System.out.println("是否创建新的空文件:"+b3);
}catch(Exception ef){
ef.printStackTrace();
}
//6.在默认临时文件/指定目录中创建一个空文件
String s1 = "test";
String s2 = ".txt";
String s3 = "D:\\hw";
java.io.File f3 = new java.io.File(s3);
try{
java.io.File f2 = file.createTempFile(s1, s2, f3);
String newfilename = f2.getName();
System.out.println("创建的新文件的名称为:"+newfilename);
}catch(Exception ef){
ef.printStackTrace();
}
System.out.println("---------传说中的分隔符---------");
//7.删除此抽象路径名表示的文件或目录
//新建用于删除的文件
//创建一个表示路径的字符串
String path1 = "D:\\hw\\forDelet.txt";
//创建一个file类的对象
java.io.File dfile = new java.io.File(path1);
try{
Boolean b4 = dfile.createNewFile();
System.out.println("用于删除的文件是否创建:"+b4);
}catch(Exception ef){
ef.printStackTrace();
}
Boolean b5 = dfile.delete();
System.out.println("是否删除:"+b5);
System.out.println("---------传说中的分隔符---------");
//8.在虚拟机终止时,请求删除此抽象路径名表示的文件或目录
// file.deleteOnExit();
//9.测试此抽象路径名与给定对象是否相等
Boolean b6 = file.equals(path);
System.out.println("抽象路径名与给定对象是否相等:"+b6);
//10.此抽象路径名表示的文件或目录是否存在
Boolean b7 = file.exists();
System.out.println("抽象路径名表示的文件或目录是否存在:"+b7);
System.out.println("---------传说中的分隔符---------");
//11.得到此抽象路径名的绝对路径名字符串
String path2 = file.getAbsolutePath();
System.out.println("得到的绝对路径名:"+path2);
//12.得到抽象路径名的规范路径名字符串
String path3 = null;
try {
path3 = file.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("得到的规范路径名:"+path3);
System.out.println("---------传说中的分隔符---------");
//13.返回此抽象路径名指定的分区中未分配的字节数,大小和可用于虚拟机的字节数
long l = file.getFreeSpace();
long l1 = file.getTotalSpace();
long l2 = file.getUsableSpace();
System.out.println("此抽象路径名指定的分区中未分配的字节数:"+l);
System.out.println("此抽象路径名指定的分区的大小:"+l1);
System.out.println("此抽象路径名指定的分区中可用于虚拟机的字节数:"+l2);
System.out.println("---------传说中的分隔符---------");
//14.返回此抽象路径名父目录的路径名字符串
String parent = file.getParent();
System.out.println("此抽象路径名父目录的路径名:"+parent);
//15.将此抽象路径名转换为一个路径名字符串
String self = file.getPath();
System.out.println("此抽象路径名自己的路径名:"+self);
System.out.println("---------传说中的分隔符---------");
//16.计算此抽象路径名的哈希码
int i1 = file.hashCode();
System.out.println("此抽象路径名的哈希码:"+i1);
System.out.println("---------传说中的分隔符---------");
//17.测试此抽象路径名是否为绝对路径名,一个目录,一个标准文件,一个隐藏文件
Boolean bool = file.isAbsolute();
Boolean bool1 = file.isDirectory();
Boolean bool2 = file.isFile();
Boolean bool3 = file.isHidden();
System.out.println("此抽象路径名是否为绝对路径名:"+bool);
System.out.println("此抽象路径名是否为一个目录:"+bool1);
System.out.println("此抽象路径名是否为一个标准文件:"+bool2);
System.out.println("此抽象路径名是否为一个隐藏文件:"+bool3);
System.out.println("---------传说中的分隔符---------");
//18.此抽象路径名表示的文件最后一次被修改的时间
long lg = file.lastModified();
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd ");
String tsForm = formatter.format(new Date(lg));
System.out.println("此抽象路径名表示的文件最后一次被修改的时间:"+tsForm );
System.out.println("---------传说中的分隔符---------");
//19.此抽象路径名表示的文件的长度
long lg1 = file.length();
System.out.println("此抽象路径名表示的文件的长度:"+lg1 );
System.out.println("---------传说中的分隔符---------");
//20.返回一个字符串数组
String[] st = f3.list();
for(int j=0;j<st.length;j++){
System.out.println("返回的字符串数组元素"+j+":"+st[j] );
}
System.out.println("---------传说中的分隔符---------");
//21.列出可用的文件系统根
File[] file2 = file.listRoots();
System.out.println("列出可用的文件系统根:"+file2[0]+"和"+file2[1] );
//22.创建此抽象路径名指定的目录
String strg = "D:\\hw\\ashidiei\\test.txt";
java.io.File fil = new java.io.File(strg);
Boolean bl3 = fil.mkdirs();
System.out.println("能否创建此抽象路径名指定的目录:"+bl3 );
以下是上面程序的运行结果:
能否执行:true
能否读取:true
能否修改:true
---------传说中的分隔符---------
两个抽象路径名比较值i:-3
---------传说中的分隔符---------
是否创建新的空文件:false
创建的新文件的名称为:test1144645725744961767.txt
---------传说中的分隔符---------
用于删除的文件是否创建:true
是否删除:true
---------传说中的分隔符---------
抽象路径名与给定对象是否相等:false
抽象路径名表示的文件或目录是否存在:true
---------传说中的分隔符---------
得到的绝对路径名:D:\hw\test.txt
得到的规范路径名:D:\hw\test.txt
---------传说中的分隔符---------
此抽象路径名指定的分区中未分配的字节数:108894928896
此抽象路径名指定的分区的大小:251784011776
此抽象路径名指定的分区中可用于虚拟机的字节数:108894928896
---------传说中的分隔符---------
此抽象路径名父目录的路径名:D:\hw
此抽象路径名自己的路径名:D:\hw\test.txt
---------传说中的分隔符---------
此抽象路径名的哈希码:393268522
---------传说中的分隔符---------
此抽象路径名是否为绝对路径名:true
此抽象路径名是否为一个目录:false
此抽象路径名是否为一个标准文件:true
此抽象路径名是否为一个隐藏文件:false
---------传说中的分隔符---------
此抽象路径名表示的文件最后一次被修改的时间:2011-07-25
---------传说中的分隔符---------
此抽象路径名表示的文件的长度:256110
---------传说中的分隔符---------
返回的字符串数组元素0:ashidiei
返回的字符串数组元素1:test.txt
返回的字符串数组元素2:test1.txt
返回的字符串数组元素3:test1144645725744961767.txt
返回的字符串数组元素4:test1661996215436382998.txt
返回的字符串数组元素5:test2.txt
返回的字符串数组元素6:test3620162175496986765.txt
返回的字符串数组元素7:test5605088576018114347.txt
返回的字符串数组元素8:test8524408370878498663.txt
---------传说中的分隔符---------
列出可用的文件系统根:C:\和D:\
能否创建此抽象路径名指定的目录:false
2.文件操作的简单应用---统计器与文件搜索器
1.文件统计的类
public void count(String path){
//创建文件对象
java.io.File f = new java.io.File(path);
//判断文件是否存在此
if(!f.exists()){
System.out.println("文件或文件夹不存在");
}else{
//判断次文件是否为文件夹
if(f.isDirectory()){
foldernum++;
//列出次文件夹下的所有的子文件目录
String[] str = f.list();
String st = f.getAbsolutePath();
for(int i=0;i<str.length;i++){
count(st+"\\"+str[i]);
}
}else{
filenum++;
size =size + f.length();
}
}
}
//显示数据的方法
public void showdata(){
System.out.println("文件夹数为:"+foldernum);
System.out.println("文件数为:"+filenum);
System.out.println("文件大小为:"+size);
}
2.文件搜索的类
public void search(String path,String s){
//创建文件对象
java.io.File f = new java.io.File(path);
//判断文件是否存在
if(!f.exists()){
System.out.println("文件或文件夹不存在");
}else{
//f的绝对位置
String st = f.getAbsolutePath();
//判断次文件是否为文件夹
if(f.isDirectory()){
//列出次文件夹下的所有的子文件目录
String[] str = f.list();
for(int i=0;i<str.length;i++){
search(st+"\\"+str[i],s);
}
}else{
int key = st.indexOf(s);
if(key!=-1){
System.out.println("文件找到,文件位置在:"+st);
}
}
}
}
3.测试它们的类
public static void main(String[] args) {
//创建统计文件类的对象
countFile cf = new countFile();
//创建文件搜索类的对象
searchFile sf = new searchFile();
String path = "D:\\hw";
String s = ".txt";
cf.count(path);
cf.showdata();
sf.search(path, s);
}
结果如下所示:
文件夹数为:3
文件数为:8
文件大小为:256120
文件找到,文件位置在:D:\hw\test.txt
文件找到,文件位置在:D:\hw\test1.txt
文件找到,文件位置在:D:\hw\test1144645725744961767.txt
文件找到,文件位置在:D:\hw\test1661996215436382998.txt
文件找到,文件位置在:D:\hw\test2.txt
文件找到,文件位置在:D:\hw\test3620162175496986765.txt
文件找到,文件位置在:D:\hw\test5605088576018114347.txt
文件找到,文件位置在:D:\hw\test8524408370878498663.txt
分享到:
相关推荐
在Java编程语言中,文件操作是一项基础且重要的任务。这篇博文主要探讨了如何使用Java进行常见的文件操作,包括创建、读取、写入、删除文件以及处理目录等。以下是对这些知识点的详细说明: 1. **创建文件**: 在...
在Java中,`java.io`包提供了丰富的类和接口来支持文件操作,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。首先,我们需要创建一个`File`对象来代表我们想要操作的文件或目录。...
Java文件操作是Java编程中必不可少的部分,它涵盖了创建、读取、写入、删除以及管理文件和目录的各种功能。在Java中,文件操作主要通过java.io包中的类和接口实现。下面将对Java文件操作进行详细的总结,并提供相关...
综上所述,Java中的文件操作涵盖了从简单的输入输出到复杂的文件复制与写入等功能,提供了丰富的API和工具类来满足不同场景下的需求。理解并掌握这些操作,对于开发基于Java的应用程序,尤其是在处理大量文件或进行...
要使用SmbFile类,首先需要创建一个SmbFile对象,指定共享文件的URL,然后通过这个对象进行文件操作。以下是一个简单的示例,展示如何读取共享文件: ```java import jcifs.smb.SmbFile; import java.io....
【标题】:“java编写的...这个“java编写的简单文件浏览器”项目为初学者提供了一个很好的实践平台,他们可以通过实际编码来加深对Java文件操作和GUI编程的理解,同时也鼓励他们不断学习和改进,提升自己的编程技能。
java操作数据库及文件的简单工具;java操作数据库及文件的简单工具;java操作数据库及文件的简单工具; 数据迁移的时候,自己写的。在这里保存一份,以便以后使用。 因为简单,所以强大
### Java操作CSV文件知识点 #### 一、简介与背景 在日常的数据处理工作中,CSV(Comma-Separated Values)文件是一种常见的数据交换格式。它简单易用且跨平台兼容性好,常被用于导入导出数据、数据分析等场景。在...
标题"java简单文件上传"暗示我们将关注如何使用Java Servlet来接收和处理上传的文件。以下是一个基本的步骤概述: 1. **创建HTML表单**:在前端,创建一个包含`<input type="file">`的表单,用户可以选取要上传的...
Java简单文件管理系统是一种基于Java编程语言开发的软件应用,它主要功能是帮助用户方便地管理计算机上的文件和目录。在Java中实现文件管理系统涉及到许多核心的Java技术,包括IO流、多线程、集合框架以及可能的...
总结来说,这个简单的Java文件读写示例展示了如何使用IO流进行文件操作。通过`FileReader`和`BufferedReader`读取文件,用`FileWriter`和`BufferedWriter`写入文件,结合`newLine()`方法处理换行,我们可以实现对...
在Java编程语言中,文件操作是一项基础且重要的任务,它涉及到对文件的读取、写入、创建、删除等操作。文件操作主要依赖于Java的I/O(Input/Output)库,包括字节流(Byte Stream)和字符流(Character Stream),...
在 Java 中,文件操作的流程一般为:打开-->读取-->对内容进行变换-->写入-->关闭。常规性文件操作会用到的类有五个:File、InputStream、OutputStream、FileInputStream、FileOutputStream,均包含在 java.io 下面...
在Java编程中,文件过滤是一项常见的任务,尤其在处理大量数据或者进行文件操作时。这里的“简单java文件过滤”指的是通过编程方式筛选出满足特定条件的文件,例如根据文件名、扩展名或文件内容进行过滤,并对这些...
使用 Java 实现对 dbf 文件的简单读写 Java 是一种广泛使用的编程语言,对于读写 dbf 文件具有重要的应用价值。本文将介绍使用 Java 实现对 dbf 文件的简单读写,包括读写 dbf 文件的基本步骤、相关类的介绍、代码...
设计一个文件管理方案,模拟一个简单的文件管理系统。要求目录结构为树型结构,目录下可以是目录,也可以是文件。通过该实验是学生可以深刻理解文件系统的概念、所涉及的基本操作及实现时的主要数据结构。<br>...
在Java编程中,判断文件类型通常不是通过文件扩展名,而是通过读取文件的头部字节来识别。这是因为有些文件可能...理解并掌握这个方法,能够帮助我们在实际开发中更好地处理各种文件操作,提高程序的健壮性和安全性。
这两个库提供了强大的文件操作和文件上传功能,是Java开发者处理文件上传问题的得力助手。 首先,`commons-io-2.5.jar`是Apache Commons IO库的一部分,这是一个用于处理输入/输出操作的Java库。它提供了许多实用...
在Java中,获取文件的创建时间并不像获取文件的最后修改时间那样简单直接。这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO(New I/O)API可以实现这一...