今天学习了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
分享到:
相关推荐
Java7里提供的新的Path类很熟悉为前提,如果你不熟悉这个类,这里就简单说一句,Path是文件系统里对位置的一个逻辑概念,例如c:\ 和../foobar.txt都是Path。
java操作数据库及文件的简单工具;java操作数据库及文件的简单工具;java操作数据库及文件的简单工具; 数据迁移的时候,自己写的。在这里保存一份,以便以后使用。 因为简单,所以强大
设计一个文件管理方案,模拟一个简单的文件管理系统。要求目录结构为树型结构,目录下可以是目录,也可以是文件。通过该实验是学生可以深刻理解文件系统的概念、所涉及的基本操作及实现时的主要数据结构。<br>...
java 二进制文件的读写操作使用FileInputStream FileOutputStream
这个代码实现了一个简单的通讯录管理系统,主要使用了Java的文件操作。 首先定义了一个Contact类,用于存储联系人的姓名和电话号码。 然后定义了一个AddressBook类,用于管理通讯录。在构造函数中,传入一个文件名...
java 读写xml文件操作, 简单易懂
自己写的一个最简单的 最易懂的 java读写文件的小例子 追加文件 回车换行等
java做的简单文件IO操作,实现文件的读写追加功能。 压缩包里面有程序运行时的截图。
改程序实现了简单的java的文件读取以及写入的操作
实验一设计一个有 N个进程共行的进程调度程序。 要求采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程,多级反馈队列调度算法这两种...从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。