一篇让你彻底学会文件操作
下文笔者将讲述使用java代码对本地文件的操作方法分享,如下所示
Java常见的文件操作功能
在Java中,我们经常需要对文件进行操作 如: 文件创建、文件删除、文件重命名 文件夹的创建、文件夹删除、文件夹重命名 文件属性的获取及文件属性设置 遍历文件夹 文件简单读写 这些操作都离不开File类 下文笔者将采用File类举例讲述具体的操作方法 如下所示
File类的简介
File类是Java中文件或目录的路径的抽象表现形式 File类中封装了很多对文件或文件夹的操作方法例
package file; import java.io.File; public class HelloFile { public static void main(String[] args) { //创建文件对象 File file = new File("test.txt"); //判断文件 ,返回布尔 file.isFile(); System.out.println(file.isFile()); //路径(文件夹) file.isDirectory(); System.out.println(file.isDirectory()); } } ----运行以上代码,将输出以下信息----- false false
文件的创建、删除、重命名
public class HelloFile { public static void main(String[] args) { //创建文件对象 File file = new File("testJava265.txt"); //testJava265.txt会存在于当前目录 //相对路径格式:xxx//testJava265.txt //绝对路径格式:D://testA//testB//testJava265.txt //"../testJava265.txt" 表示上一级文件结构 //是否存在 if(file.exists()){ //文件 System.out.println(file.isFile()); //路径(文件夹) System.out.println(file.isDirectory()); //重命名 //文件结构必须处于同一个分区 //文件处于不同的分区,需要使用文件的拷贝,而不是重命名 // File nameto = new File("src/new testJava265.txt"); // file.renameTo(nameto); //文件删除 // file.delete(); // System.out.println("文件删除成功"); }else { System.out.println("文件不存在"); //创建文件 try { file.createNewFile(); System.out.println("文件已经成功创建"); } catch (IOException e) { System.out.println("文件无法创建"); } } } }
文件夹的创建、重命名、删除
public class TestFile { public static void main(String[] args) { //文件夹的创建 File folder = new File("文件夹"); folder.mkdir(); System.out.println("文件夹创建完成"); //关于folder.mkdir(),返回一个布尔类型 if(folder.mkdir()){ System.out.println("文件夹创建完成"); }else{ if(folder.exists()){ System.out.println("文件夹已经存在不用创建了"); }else{ System.out.println("文件夹创建失败"); } } //文件夹的重命名 File folder = new File("文件夹"); File newfolder = new File("新文件夹"); if(folder.renameTo(newfolder)){//返回值布尔类型 System.out.println("done"); }else{ System.out.println("fail"); } //文件夹的删除 File folder = new File("test/文件夹"); folder.delete();//返回值布尔类型 //被删除的文件夹必须为空才会删除成功 if(folder.delete()){ System.out.println("done"); }else{ System.out.println("fail"); } } }
文件属性的读取
public class HelloFile { public static void main(String[] args) { //文件属性的读取 File file = new File("text.txt"); //判断文件是否存在 System.out.println("判断文件是否存在"+file.exists()); //读取文件名称 System.out.println("读取文件名称"+file.getName()); //读取文件路径 System.out.println("读取文件路径"+file.getPath()); //读取文件绝对路径 System.out.println("读取文件绝对路径"+file.getAbsolutePath()); //获取文件父级路径 System.out.println("获取文件父级路径"+new File(file.getAbsolutePath()).getParent()); //读取文件大小 System.out.println("读取文件大小"+file.length()+"byte");//字节 System.out.println("读取文件大小"+(float)file.length()/1000+"KB"); //判断文件是否被隐藏 System.out.println("判断文件是否被隐藏"+file.isHidden()); //判断文件是否可读 System.out.println("判断文件是否可读"+file.canRead()); //判断文件是否可写 System.out.println("判断文件是否可写"+file.canWrite()); //判断文件是否为文件夹 System.out.println("判断文件是否为文件夹"+file.isDirectory()); }
设置文件属性
public class HelloFile { public static void main(String[] args) { //文件属性的设置 File file = new File("text.txt"); if (file.exists()){ //将文件设定为可写 file.setWritable(true); file.setWritable(false); //将文件设定为可读 file.setReadable(false); file.setReadable(true); //将文件设定为只读 file.setReadOnly(); }
遍历文件夹
//遍历文件夹 public static void printFiles(File dir){ printFiles(new File("绝对路径")); if (dir.isDirectory()) { File next[] = dir.listFiles();//listFiles()返回一个数组 for(int i= 0;i<next.length;i++){ System.out.println(next[i].getName()); if(next[i].isDirectory()){ printFiles(next[i]); } } } }
文件的简单读写
package file; import java.io.File; import java.io.IOException; public class HelloFile { public static void main(String[] args) { File file = new File("test.txt"); if(file.exists()){ System.err.println("exist"); try{ FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis,"UTF-8"); BufferedReader br = new InputStreamReader(isr); String line; while(line = br.readLine() != NUll){ System.out.println(line); } br.close(); isr.close(); fis.close(); }catch (FileNotFoundException e) { }catch (UnsupportedEncodingException e) { e.printStackTrace(); }catch (Exception e) { } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。