1.创建
boolean createNewFile();在指定路径创建文件,如果文件已经存在,则不创建,返回false.输出流
对象一旦创建,如果文件存在,则会覆盖。
boolean mkdir():创建一级文件夹
boolean mkdirs():创建多级文件夹
调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等。
代码如下 | 复制代码 |
import java.io.*; public class CreateNewFile{ //创建一个方法完成创建文件的目的,文件的第一个参数是文件路径和文件名,第二个参数是文件内容 //如:myfile.doc HelloJava! public void createNewFile(String fileDirectoryAndName,String fileContent){ try{ String fileName = fileDirectoryAndName; //创建File对象,参数为String类型,表示目录名 File myFile = new File(fileName); //判断文件是否存在,如果不存在则调用createNewFile()方法创建新目录,否则跳至异常处理代码 if(!myFile.exists()) myFile.createNewFile(); else //如果不存在则扔出异常 throw new Exception("The new file already exists!"); //下面把数据写入创建的文件,首先新建文件名为参数创建FileWriter对象 FileWriter resultFile = new FileWriter(myFile); //把该对象包装进PrinterWriter对象 PrintWriter myNewFile = new PrintWriter(resultFile); //再通过PrinterWriter对象的println()方法把字符串数据写入新建文件 myNewFile.println(fileContent); resultFile.close(); //关闭文件写入流 }catch(Exception ex){ System.out.println("无法创建新文件!"); ex.printStackTrace(); } } public static void main(String[] args){ //创建类的对象并调用该对象的createNewFile()方法,创建新文件并写入数据 CreateNewFile createFile = new CreateNewFile(); createFile.createNewFile(args[0],args[1]); } } |
执行该程序,在执行代码后直接输入两个参数,第一个参数是文件名,此时需要注明文件类型,这里创建的word文档;第二个参数是文件的内容,该参数是一个字符串数据
2.删除
boolean delete():删除失败返回假。如果文件正在使用,则删除不了返回false
void deleteOnExit():程序退出时删除文件
3.判断
boolean exists():判断文件是否存在
isFile();
isDirectory();
isHidden();
isAbsolute();
4.获取信息
getName();
getPahth();//获取路径
getAbsoluteFile();//获取绝对路径封装成文件对象
getAbsolutPath();//获取绝对路径
getParent();
lastModified();
length();
getParent();//该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null.
//如果相对路径中有一级目录,那么该目录就是返回结果
renameto()
代码如下 | 复制代码 |
package com.day20.wd; import java.io.File; public class IODemo { /** |
相关文件操作
在java中File类是唯一可以直接操作文件的类:
一、创建文件
代码如下 | 复制代码 |
FileDemo01.java: import java.io.File; import java.io.IOException; public class FileDemo01 { public static void main(String args[]) { File f = new File("e:"+File.separator+"abc.txt");//声明File类的对象 try { f.createNewFile();//根据给定的路径创建文件 } catch (IOException e)//进行异常的捕获打印输出 { e.printStackTrace(); } } } |
2.删除文件:
代码如下 | 复制代码 |
FileDemo02.java import java.io.File; public class FileDemo02 { public static void main(String args[]) { File f = new File("e:"+File.separator+"abc.txt"); f.delete();//删除文件 } } |
3.如果文件存在则删除,如果不存在则创建
代码如下 | 复制代码 |
FileDemo03.java: import java.io.File; import java.io.IOException; public class FileDemo03 { public static void main(String args[]) { File f = new File("e:"+File.separator+"abc.txt"); /* 如果文件存在则删除文件,如果不存在则创建文件 */ if(f.exists()) { f.delete();//删除文件 } else { try { f.createNewFile();//创建文件 } catch (IOException e) { e.printStackTrace(); } } } } |
4.创建文件夹
代码如下 | 复制代码 |
FileDemo04.java: import java.io.File; public class FileDemo04 { public static void main(String args[]) { File f = new File("e:"+File.separator+"nwpu"); f.mkdir(); } } |
5.列出文件(列出的只是文件名)
代码如下 | 复制代码 |
FileDemo05.java: import java.io.File; public class FileDemo05 { public static void main(String args[]) { File f = new File("e:"+File.separator);//实例化File类的对象 String str [] = f.list();//列出文件,返回一个str数组 for (int i=0;i<str.length;i++)//循环输出文件,看输出的是文件的什么内容 { System.out.println(str[i]); } } } |
6.列出文件(listFiles()方法可以列出文件的路径)
代码如下 | 复制代码 |
FileDemo06.java: import java.io.File; public class FileDemo06 { public static void main(String args[]) { File f = new File("e:"+File.separator);//实例化File类的对象 File files[] = f.listFiles();//列出文件 for (int i=0;i<files.length;i++) { System.out.println(files[i]);//调用toString 方法打印输出看看输出信息 } } } |
7.判断是否为目录:(isDirectory()方法)
代码如下 | 复制代码 |
FileDemo07.java: import java.io.File; public class FileDemo07 { public static void main(String args[]) { File f = new File("e:"+File.separator);//实例化File类的对象 if(f.isDirectory()) { System.out.println(f.getPath()+"是目录!"); } else { System.out.println(f.getPath()+"不是目录!"); } } } |
8.列出给定目录中的所以内容(如果有子目录则列出子目录中的所以内容)
代码如下 | 复制代码 |
FileDemo08.java:
import java.io.File; public class FileDemo08 { public static void main(String args[]) { File f = new File("e:"+File.separator);//实例化File类的对象 printFile(f); } public static void printFile(File f) { if(f!=null)//判断文件是否为空 { if(f.isDirectory())//判断文件是否为文件夹 { File files[] = f.listFiles();//列出文件 if(files!=null) {//判断此目录能否列出 for(int i=0;i<files.length;i++) { printFile(files[i]);//递归调用判断是否为子文件夹 } } } else { System.out.println(f); } } } } |