java文件操作全.docx

上传人:b****3 文档编号:12897699 上传时间:2023-04-22 格式:DOCX 页数:39 大小:27.86KB
下载 相关 举报
java文件操作全.docx_第1页
第1页 / 共39页
java文件操作全.docx_第2页
第2页 / 共39页
java文件操作全.docx_第3页
第3页 / 共39页
java文件操作全.docx_第4页
第4页 / 共39页
java文件操作全.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

java文件操作全.docx

《java文件操作全.docx》由会员分享,可在线阅读,更多相关《java文件操作全.docx(39页珍藏版)》请在冰豆网上搜索。

java文件操作全.docx

java文件操作全

File操作(最全的)

1.文件

1.标准文件:

就像图片,音乐文件等。

2.目录文件:

也就是平常所说的文件夹。

3.虚拟内存文件:

系统在运行程序时生成的临时性文件。

2.文件的路径

1.相对路径:

相对于某一文件的路径,形象地说是把两文件的绝对路径相同的部分砍掉,剩下的就是相对路径

如:

A文件是"D:

\MyDocuments\StudySample\src\cn\xmh",

B文件是"D:

\MyDocuments\StudySample\src\netjava\cjl",

则B相对A的路径是"\netjava\cjl";

2.绝度路径:

从磁盘根目录算起的路径名

如:

"G:

\TDDOWNLOAD\数据结构"。

3.File是一个类,位于java.io包中。

我们可以用File类创建文件对象,并对文件对象进行各种操作,如读写数据。

4.File类中的构造器以及各种方法

1.构造器

1.最常用的一种,根据字符串型的路径名创建文件对象

File(Stringpathname)

示例:

Stringpath="D:

\\MyDocuments\\StudySample";

java.io.Filefile=newjava.io.File(path);

2.在一个父目录对象下面创建一个名字为child的文件对象,child为要创建的文件的名字

File(Fileparent,Stringchild)//这里的parent是File类型的,也就是说它是文件对象

File(Stringparent,Stringchild)//这里的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中运行

Stringpath="study";

java.io.Filefile=newjava.io.File(path);

file.createNewFile();

这样就会在StudySample目录下创建一个名为"study"的文件夹(目录)。

如果已经存在同名的文件,则抛出异常信息。

7.mkdirs():

如果File对象名字有多级目录,则可以调用该方法一次性创建多级目录。

8.createNewFile():

用来创建标准文件的方法

如下示例:

Stringpath="D:

\\MyDocuments\\StudySample\\test.txt";

java.io.Filefile=newjava.io.File(path);

file.createNewFile();

这样就会在"D:

\MyDocuments\StudySample"目录下创建一个名为"test.txt"的记事本。

9.delete():

调用该方法可以删除File对象所指向的文件。

5.文件的操作实例:

importjava.io.File;

publicclassFileExercise{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args)throwsException{

System.out.println("当前操作系统的名称分隔符是:

"+java.io.File.separator);

System.out.println("当前操作系统的路径分隔符是:

"+java.io.File.pathSeparator);

//字符串类型的文件名

StringfileName="xiong.txt";

//实例化文件对象

java.io.Filefile=newjava.io.File("src",fileName);

java.io.Filefile1=newjava.io.File(

"D:

\\MyDocuments\\StudySample\\src\\xiong");

java.io.Filefile2=newjava.io.File(

"D:

\\MyDocuments\\StudySample\\src");

//创建一个文件

file.createNewFile();

booleanb;//申明一个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);

//按字母顺序比较两个抽象路径名

inti=pareTo(file1);

System.out.println(i);

Stringpath;

//返回此抽象路径名的绝对路径名字符串

path=file.getAbsolutePath();

System.out.println(path);

//返回此抽象路径名的规范路径名字符串

path=file.getCanonicalPath();

System.out.println(path);

longfree;

//返回此抽象路径名指定的分区中未分配的字节数

free=file.getFreeSpace();

System.out.println("此抽象路径名指定的分区中未分配的字节数"+free);

//返回由此抽象路径名表示的文件或目录的名称

Stringname;

name=file.getName();

System.out.println(name);

name=file1.getName();

System.out.println(name);

//返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null

Stringparentpath;

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);

//返回此抽象路径名表示的文件最后一次被修改的时间

longtime=file.lastModified();

System.out.println(time);

//返回由此抽象路径名表示的文件的长度

longlength=file.length();

System.out.println("文件的长度:

"+length);

//list()-->返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录

String[]array=file2.list();

for(i=0;i

System.out.println(array[i]);

}

//listFiles()-->返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件

java.io.File[]array1=file2.listFiles();

for(i=0;i

System.out.println(array1[i]);

}

//listRoots()-->列出可用的文件系统根,静态方法

java.io.File[]roots=File.listRoots();

for(i=0;i

System.out.println(roots[i]);

}

//在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。

//file.deleteOnExit();

//创建此抽象路径名指定的目录

file1.mkdir();

//重新命名此抽象路径名表示的文件

java.io.Filefile4=newjava.io.File("src\\重命名文件");

System.out.println(file1.renameTo(file4));

//设置文件只读

file.setReadOnly();

//设置文件可写

file.setWritable(true);

}

}

1.创建文件夹  

FilemyFolderPath=newFile(%%1);  

try{  

if(!

myFolderPath.exists()){  

    myFolderPath.mkdir();  

}  

}  

catch(Exceptione){  

System.out.println("新建目录操作出错");  

e.printStackTrace();  

}  

  

2.创建文件  

FilemyFilePath=newFile(%%1);  

try{  

if(!

myFilePath.exists()){  

myFilePath.createNewFile();  

}  

FileWriterresultFile=newFileWriter(myFilePath);  

PrintWritermyFile=newPrintWriter(resultFile);  

myFile.println(%%2);  

resultFile.close();  

}  

catch(Exceptione){  

System.out.println("新建文件操作出错");  

e.printStackTrace();  

}  

  

3.删除文件  

FilemyDelFile=newFile(%%1);  

try{  

myDelFile.delete();  

}  

catch(Exceptione){  

System.out.println("删除文件操作出错");  

e.printStackTrace();  

}  

  

4.删除文件夹  

FiledelFolderPath=newFile(%%1);  

try{  

delFolderPath.delete();//删除空文件夹  

}  

catch(Exceptione){  

System.out.println("删除文件夹操作出错");  

e.printStackTrace();  

}  

  

5.删除一个文件下夹所有的文件夹  

Filedelfile=newFile(%%1);  

File[]files=delfile.listFiles();  

for(inti=0;i

if(files[i].isDirectory()){  

files[i].delete();  

  }  

}  

  

6.清空文件夹  

Filedelfilefolder=newFile(%%1);  

try{  

if(!

delfilefolder.exists()){  

delfilefolder.delete();  

}  

delfilefolder.mkdir();  

}  

catch(Exceptione){  

System.out.println("清空目录操作出错");  

e.printStackTrace();  

}  

  

7.读取文件  

//逐行读取数据  

FileReaderfr=newFileReader(%%1);  

BufferedReaderbr=newBufferedReader(fr);  

String%%2=br.readLine();  

while(%%2!

=null){  

%%3  

%%2=br.readLine();  

}  

br.close();  

fr.close();  

  

8.写入文件  

//将数据写入文件  

FileWriterfw=newFileWriter(%%1);  

fw.write(%%2);  

fw.close();  

  

9.写入随机文件  

try{  

RandomAcessFilelogFile=newRandomAcessFile(%%1,"rw");  

longlg=logFile.length();  

logFile.seek(%%2);  

logFile.writeByte(%%3);  

}catch(IOExceptionioe){  

System.out.println("无法写入文件:

"+ioe.getMessage());  

}  

  

10.读取文件属性  

//文件属性的取得  

Fileaf=newFile(%%1);  

if(af.exists()){  

System.out.println(f.getName()+"的属性如下:

文件长度为:

"+f.length());  

System.out.println(f.isFile()?

"是文件":

"不是文件");  

System.out.println(f.isDirectory()?

"是目录":

"不是目录");  

System.out.println(f.canRead()?

"可读取":

"不");  

System.out.println(f.canWrite()?

"是隐藏文件":

"");  

System.out.println("文件夹的最后修改日期为:

"+newDate(f.lastModified()));  

}else{  

System.out.println(f.getName()+"的属性如下:

");  

System.out.println(f.isFile()?

"是文件":

"不是文件");  

System.out.println(f.isDirectory()?

"是目录":

"不是目录");  

System.out.println(f.canRead()?

"可读取":

"不");  

System.out.println(f.canWrite()?

"是隐藏文件":

"");  

System.out.println("文件的最后修改日期为:

"+newDate(f.lastModified()));  

}  

if(f.canRead()){  

%%2  

}  

if(f.canWrite()){  

%%3  

}  

  

11.写入属性  

Filefilereadonly=newFile(%%1);  

try{  

booleanb=filereadonly.setReadOnly();  

}  

catch(Exceptione){  

System.out.println("拒绝写访问:

"+e.printStackTrace());  

}  

  

12.枚举一个文件夹中的所有文件夹  

  

//importjava.io.*;  

//importjava.util.*;  

ArrayListfolderList=newArrayList();  

folderList.add(%%1);  

for(intj=0;j

Filefile=newFile(folderList.get(j));  

File[]files=file.listFiles();  

ArrayListfileList=newArrayList();  

for(inti=0;i

if(files[i].isDirectory()){  

folderList.add(files[i].getPath());  

}else{  

fileList.add(files[i]);  

}  

}  

for(Filef:

fileList){  

%%2=f.toString();  

%%3  

}  

}  

  

13.复制文件夹  

//importjava.io.*;  

//importjava.util.*;  

ArrayListfolderList=newArrayList();  

folderList.add(%%1);  

ArrayListfolderList2=newArrayList();  

folderList2.add(%%2);  

for(intj=0;j

  (newFile(folderList2[j])).mkdirs();//如果文件夹不存在则建立新文件夹  

  Filefolders=newFile(folderList[j]);  

  String[]file=folders.list();  

  Filetemp=null;  

  try{  

    for(inti=0;i

      if(folderList[j].endsWith(File.separator)){  

      temp=newFile(folderList[j]+"/"+file[i]);  

      }  

      else{  

      temp=newFile(folderList[j]+"/"+File.separator+file[i]);  

      }  

      FileInputStreaminput=newFileInputStream(temp);  

      if(temp.isFile()){  

      FileInputStreaminput=newFileInputStream(temp);  

      FileOutputStreamoutput=newFileOutputStream(folderList2[j]+"/"+  

          (temp.getName()).toString());  

      byte[]b=newbyte[5120];  

      intlen;  

      while((len=input.read(b))!

=-1){  

        output.write(b,0,len);  

      }  

      output.flush();  

      output.close();  

      input.close();  

      }  

      if(temp.isDirectory()){//如果是子文件夹  

      folderList.add(folderList[j]+"/"+file[i]);  

      folderList2.add(folderList2[j]+"/"+file[i]);  

      }  

    }  

  }  

  catch(Exceptione){  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1