操作文件的类-----File

来源:互联网 发布:mac一键切换音频输出 编辑:程序博客网 时间:2024/06/01 10:45
File类中的主要方法
public static final String pathSeparator 表示路径的分隔符(windows是:";")
public static final String separator 表示路径的分隔符(windows是:"\")
public File(String pathname)  创建File类对象,传入完整路径
public boolean creatNewFile() throws IOException创建新文件
public boolean delete()删除文件
public boolean exists()判断文件是否存在
public boolean isDirectory()判断给定的路径是否是一个目录
public long length()返回文件的大小
public String[] list()列出指定目录的全部内容,只是列出了名称
public File[] listFiles()列出指定目录的全部内容,会列出路径
public boolean mkdir()创建一个目录
public boolean renameTo(File dest)为已有的文件重新命名
(1)Windows中使用反斜杠表示目录的分隔符"\"
(2)Linux中使用正斜杠表示目录的分隔符"/"

(3)在操作文件时一定要使用File.separator表示分割符,在程序的开发中,往往会使用Windows开发环境,而在程序发布时往往是直接在Linux或者其他操作系统上部署

例如:"d:\\test.txt"   可以写成"d:"+File.separator+"test.txt"

public class Demo1 {public static void main(String[] args) {String path = "d:"+File.separator+"demo.txt";File file = new File(path);if (file.exists()) {file.delete();System.out.println("删除成功!");} else {try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("新建成功!");}}}


列出指定目录的全部内容:

public class Demo2 {public static void print(File file) {if(file!=null){if (file.isDirectory()) {File[] listFiles = file.listFiles();if(listFiles != null) {for (int i = 0; i < listFiles.length; i++) {print(listFiles[i]);}} else {System.out.println(file);}}}}public static void main(String[] args) {File file = new File("d:"+File.separator+"fff");print(file);}}


2.RandomAccessFile类

File类只是针对文件本身进行操作,而如果要对文件内容进行操作,则可以使用RandomAccessFile类,此类属于随机读取类,可以随机读取一个文件中指定位置的数据。
RandomAccessFile类的常用操作方法:
public RandomAccessFile(File file,String mode) throws FileNotFoundException            构造函数,接受File类的对象,指定操作路径,但是在设置时需要设置模式,r为只读,w为只写,rw为读写
public RandomAccessFile(String name,String mode)throws FileNotFoundException           构造函数,不再使用File类对象表示文件,而是直接输入了一个固定的文件路径
public void close() throws IOException                                                 关闭操作
public int read(byte[] b)throws IOException将内容读取到一个byte数组中
public final byte readByte()throws IOException读取一个字节
public final int readInt()throws IOException从文件中读取整型数据
public void seek(long pos)throws IOException设置读指针的位置
public final void writeBytes(String s)throws IOException将一个字符串写入到文件中,按字节的方式处理
public final void writeInt(int v)throws IOException将一个int型数据写入文件,长度为4位
public int skipBytes(int n) throws IOException指针跳过多少字节
需要注意的是,如果使用rw方式声明RandomAccessFile对象时,要写入的文件不存在,系统将自动进行创建。

原创粉丝点击