Java之file操作

File类既可以表示文件,也可以表示为文件夹

文件的创建、删除、重命名

1、文件的创建

File file=new File("new Hello.txt");//当前工程目录下

file.createNewFile();

File file=new File("bin/hello.txt");//当前工程目录下的bin文件夹下

file.createNewFile();

File file=new File("../hello.txt");//当前工程目录的上一级目录

file.createNewFile();

File file=new File("../../hello.txt");//上一级的上一级目录

file.createNewFile();

2、文件的删除

file.delete();

3、文件的重命名

(1)重命名文件

File file=new File("Hello.txt");

File nameto=new File("new Hello.txt");

file.renameTo(nameto);

(2)复制文件到指定目录(文件夹结构必须处于同一个分区,文件处于不同的分区,需要使用文件的拷贝,而不是文件的重命名)

File nameto=new File("new Hello.txt");

File nameto=new File("src/new Hello.txt");

file.renameTo(nameto);//把文件从根目录拷贝到根目录下src目录下

文件夹的创建、删除、重命名

文件夹的创建

创建单一文件夹

File folder=new File("my new folder");

folder.mkdir();//返回的是一个bool值

创建整个文件夹目录

File folder=new File("my new folder/one/two/three/main");

folder.mkdirs();

文件夹的重命名

File folder=new File("my new folder");
File newfolder=new File("my new folder-new");
folder.renameTo(newfolder);

文件夹的删除

File newfolder=new File("my new folder-new");
newfolder.delete();//删除时,当前文件夹必须是空的,否则不能被删除,删除失败,和文件的删除不同

文件属性的读取

[java] view plain copy
 
  1. package com.jingchenyong.io;  
  2. import java.io.File;  
  3. public class FileTest1 {  
  4.     public static void main(String[] args) {  
  5.         File file=new File("text.txt");  
  6.         //判断文件是否存在  
  7.         System.out.println("判断文件是否存在"+file.exists());  
  8.         //读取文件名称  
  9.         System.out.println("读取文件名称"+file.getName());  
  10.         //读取文件路径(相对路径)  
  11.         System.out.println("读取文件路径"+file.getPath());  
  12.         //读取文件绝对路径  
  13.         System.out.println("读取文件绝对路径"+file.getAbsolutePath());  
  14.         //读取文件的父级路径  
  15.         System.out.println("读取文件的父级路径"+new File(file.getAbsolutePath()).getParent());  
  16.         //读取文件的大小  
  17.         System.out.println("读取文件的大小"+file.length()+"byte");//字节  
  18.         //判断文件是否被隐藏  
  19.         System.out.println("判断文件是否被隐藏"+file.isHidden());  
  20.         //判断文件是否可读  
  21.         System.out.println("判断文件是否可读"+file.canRead());  
  22.         //判断文件是否可写  
  23.         System.out.println("判断文件是否可写"+file.canWrite());  
  24.         //判断文件是否为文件夹  
  25.         System.out.println("判断文件是否为文件夹"+file.isDirectory());  
  26.     }  
  27. }  

文件属性的设置

//将文件设定为可写
file.setWritable(true);
//将文件设定为可读
file.setReadable(true);
//将文件设定为只读
file.setReadOnly();

遍历文件夹

[java] view plain copy
 
  1. package com.jingchenyong.io;  
  2. import java.io.File;  
  3. public class FileTest2 {  
  4.     public static void main(String[] args) {  
  5.         // TODO Auto-generated method stub  
  6.         printFiles(new File("C:/Users/jingchenyong/Desktop/desktop"),1);  
  7.         //绝对路径  
  8.         //printFiles(new File("H:/Users/jingchenyong/Workspaces/MyEclipse 8.6/Test"));  
  9.         //相对路径  
  10.         //printFiles(new File("../Test"),1);  
  11.     }  
  12.     public static void printFiles(File dir,int tab){  
  13.         if(dir.isDirectory()){  
  14.             File next[]=dir.listFiles();//返回的file对象的数组的数组  
  15.             for(int i=0;i<next.length;i++){  
  16.                 for(int j=0;j<tab;j++){  
  17.                     System.out.print("|--");  
  18.                 }  
  19.                 System.out.println(next[i].getName());  
  20.                 if(next[i].isDirectory()){  
  21.                     printFiles(next[i],tab+1);  
  22.                 }  
  23.             }  
  24.         }  
  25.     }  
  26. }  

文件的简单读写

[java] view plain copy
 
  1. package com.jingchenyong.io;  
  2.   
  3. import java.io.BufferedReader;  
  4. import java.io.BufferedWriter;  
  5. import java.io.File;  
  6. import java.io.FileInputStream;  
  7. import java.io.FileNotFoundException;  
  8. import java.io.FileOutputStream;  
  9. import java.io.IOException;  
  10. import java.io.InputStreamReader;  
  11. import java.io.OutputStreamWriter;  
  12. import java.io.UnsupportedEncodingException;  
  13.   
  14. public class FileTest3 {  
  15.     public static void main(String[] args) {  
  16.         // TODO Auto-generated method stub  
  17.         //读  
  18.         File file=new File("text.txt");//位于工程目录下  
  19.         if(file.exists()){  
  20.             System.err.println("exist");  
  21.             try {  
  22.                 FileInputStream fis=new FileInputStream(file);//获取文件的输入流(字节流)  
  23.                 InputStreamReader isr=new InputStreamReader(fis,"utf-8");//(字符流)  
  24.                 BufferedReader br=new BufferedReader(isr);//带有缓冲的  
  25.                   
  26.                 String line;  
  27.                 while((line=br.readLine())!=null){  
  28.                     System.out.println(line);  
  29.                 }  
  30.                 br.close();  
  31.                 isr.close();  
  32.                 fis.close();  
  33.             } catch (FileNotFoundException e) {  
  34.                 // TODO Auto-generated catch block  
  35.                 e.printStackTrace();  
  36.             } catch (UnsupportedEncodingException e) {  
  37.                 // TODO Auto-generated catch block  
  38.                 e.printStackTrace();  
  39.             } catch (IOException e) {  
  40.                 // TODO Auto-generated catch block  
  41.                 e.printStackTrace();  
  42.             }  
  43.         }  
  44.           
  45.         //写  
  46.         try {  
  47.               
  48.             File newfile=new File("next.txt");  
  49.             FileOutputStream fos=new FileOutputStream(newfile);  
  50.             OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");  
  51.             BufferedWriter bw=new BufferedWriter(osw);  
  52.               
  53.             //覆盖写入  
  54.               
  55.             bw.write("jingchenyong1 ");  
  56.             bw.write("jingchenyong2 ");  
  57.             bw.write("jingchenyong3 ");  
  58.             bw.write("jingchenyong4 ");  
  59.             bw.write("jingchenyong5 ");  
  60.               
  61.             bw.close();  
  62.             osw.close();  
  63.             fos.close();  
  64.         } catch (FileNotFoundException e) {  
  65.             // TODO Auto-generated catch block  
  66.             e.printStackTrace();  
  67.         } catch (UnsupportedEncodingException e) {  
  68.             // TODO Auto-generated catch block  
  69.             e.printStackTrace();  
  70.         } catch (IOException e) {  
  71.             // TODO Auto-generated catch block  
  72.             e.printStackTrace();  
  73.         }  
  74.     } 
  75. }
原文地址:https://www.cnblogs.com/alisapan/p/7728906.html