处理java文件_JAVA文件处理

文件处理是最常见的I/O处理。在实际的编程中不可避免的用到。Java的文件操作涉及的类其实也不多,好好总结一下,感觉也不难。

A)File类

欲对文件进行操作首先需要知道文件的有关信息,如文件的名称、路径、属性等。Java中通过File类来提供所有这些。File类提供了一种与机器无关的方式来描述一个文件的信息。每个File类对象表示一个磁盘文件或目录。

File类常用构造方法

构造方法

描述

public File(String path)

用path参数创建File对象所对应的磁盘文件或目录

public File(String path,String name)

以path为路径,以name为文件或目录名创建File对象

public File(File dir,String name)

以dir为目录,以name为文件或目录

File类常用方法

方法

描述

public String getName()

获取文件名或目录

public String AbsolutePath()

获取文件或目录的绝对路径

public String getParent()

获取文件或目录的上一级目录

public boolean canWrite()

测试文件是否可写

public boolean isDirectory()

测试当前File对象是否为目录

public String renameTo(File newName)

文件改名

public boolean mkdir()

创建单级目录

public String[] list()

获取当前目录下的所有文件或目录

B)FileInputStream类和FileOutputStream类

FileInputStream类和FileOutputStream类 分别继承自InputStream、OutputStream,它们重写或实现了父类中的所有有方法,因此在此节中不再介绍它们的常用方法请参见笔者此篇:http://www.cnblogs.com/byirain/archive/2013/03/03/2937814.html

a) FileInputStream

主要用来处理二进制文件的读取工作。

FileInputStream类的常用构造方法

构造方法

描述

public FileInputStream(String name)

以name为文件名创建FileInputStream对象

public FileInputStream(File file)

以file为文件名创建FileInputStream对象

b)FileOutputStream

主要用来处理二进制文件的写入工作。

FileOutputStream类的常用构造方法

public FileOutputStream(String name)

以name为文件名创建

public FileOutputStream(String name,boolean a)

同上,但若a为true,则数据追加在原数据之后

public FileOutputStream(File file)

以file为文件名创建

C)FileReader类和FileWriter类

FileReader类和FileWriter类与FileInputStream类和FileOutputStream类相似,不同之处在于前者处理的单位为字符(char)后者为字节(byte),在此不再赘述。

D)文件常用操作

费话不说,请看源码:

48304ba5e6f9fe08f3fa1abda7d326ab.png

importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;public classTestFile {/***

*@parampath

* 创建的目录名,绝对路径*/

public staticFile CreateDir(String path) {

File fileDir= newFile(path);if (!fileDir.exists()) {

fileDir.mkdirs();returnfileDir;

}

System.out.println("目录已存在");returnfileDir;

}/***

*@parampath

* 绝对路径名

*@paramname

* 文件名

*@return文件对象*/

public staticFile CreateFile(String path, String name) {

CreateDir(path);

File file= new File(path + File.separator +name);if (!file.exists()) {try{

file.createNewFile();

}catch(IOException e) {//TODO Auto-generated catch block

e.printStackTrace();

}returnfile;

}

System.out.println("文件已存在");returnfile;

}/***

*@parampath

* 绝对路径名

*@paramname

* 文件名

*@return是否删除成功*/

public static booleanDelFile(String path, String name) {

File file= new File(path + File.separator +name);if(file.exists()) {

file.delete();return true;

}

System.out.println("文件不存在");return false;

}/***

*@paramfromFile

* 源文件

*@paramtoFilePath

* 目的文件路径

*@paramtoFileName

* 目的文件名

*@throwsIOException*/

public static voidcopyFile(String fromFile, String toFilePath,

String toFileName)throwsIOException {

File Ffile= newFile(fromFile);if (!Ffile.exists()) {

System.err.println("源文件不存在");return;

}//建立目的文件

File Tfile =CreateFile(toFilePath, toFileName);//利用FileInputStream 与 FileOutputStream完成文件copy

FileInputStream fin = newFileInputStream(Ffile);byte[] b = new byte[fin.available()];

fin.read(b);

FileOutputStream fout= newFileOutputStream(Tfile);

fout.write(b);

System.out.println("copy finished!");

fin.close();

fout.close();

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值