File类的增删改查介绍 java
- package com.io.file;
-
- import java.io.File;
- import java.io.IOException;
-
- public class File_1 {
- public static void main(String[] args) throws IOException, InterruptedException {
- //mehtod_file();//File类的几种建立方式
- //file_create();//建立文件
- //file_delete();//删除文件
- //file_judge();//判断文件
- //file_get();//获取File封装对象内容
- file_renameTo();
- }
- /*
- * 修改文件名称
- * 剪切文件,并粘贴文件
- */
- public static void file_renameTo(){
- //实现文件剪切功能
- // File f=new File("g:/java/aa.txt");
- // File ff=new File("d:/bbb.txt");//注意:这里不能带文件夹;f封装的路径中的文件会被删除,ff封装的路径中的文件会被建立
- // System.out.println(f.renameTo(ff));
- //文件更名
- File f1=new File("g:/java/aa.txt");
- File f2=new File("g:/java/bb.txt");//注意:这里不能带文件夹;f封装的路径中的文件会被删除,ff封装的路径中的文件会被建立
- System.out.println(f1.renameTo(f2));
- }
-
- /*
- * 获取文件信息
- */
- public static void file_get(){
- File f=new File("g:/java/yes.txt");
- System.out.println("getPath():"+f.getPath());//无论该文件是否存在,就是获取File对象封装的路径内容
- System.out.println("getAbsolute()"+f.getAbsolutePath());//无论该文件是否存在,获取File对象封装的绝对路径
- System.out.println("getName():"+f.getName());//获取File对象封装的文件名称,包括后缀名
- System.out.println("getParent():"+f.getParent());//获取File对象封装的文件夹路径名,注意,该方法获取的文件夹路径是File对象封装的绝对路径才能获取的,若是File对象封装的是相对路径的话,则返回null;
- //若是File对象封装的路径有上一层目录,则返回的目录就是该目录如:File f=new file("a\\b.txt");则返回a目录
- System.out.println("lastModified():"+f.lastModified());//获取File对象封装的文件最后一次修改的时间
- System.out.println("length():"+f.length());//获取File对象封装的文件的大小,即多少个字节
- }
- /*
- * 判断文件
- *
- */
- public static void file_judge(){
- File f=new File("g:/java/yes.txt");
- System.out.println(f.canExecute());//判断文件是否可执行
- System.out.println(f.exists());//判断文件是否存在
- System.out.println("-----------------------------------------");
- File ff=new File("g:/java/a/b/c/d/e/f");
- // System.out.println(ff.mkdir());//建立文件夹
- System.out.println(ff.mkdirs());//建立多级文件夹
- System.out.println("------------------------------------------");
- File fff=new File("zzzz.txt");
- //注意在判断是不是文件和目录时,必定要先判断该文件对象封装的内容是否存在
- //用exists();判断
- System.out.println(fff.isDirectory());//判断是不是目录
- System.out.println(fff.isFile());//判断是不是文件
- System.out.println(fff.isHidden());//判断文件是否隐藏
- System.out.println(fff.isAbsolute());//判断文件路径是不是绝对路径,及时文件不存在也能够判断
- }
- /*
- *删除文件
- * boolean delete();删除失败是返回false
- * void deleteOnExit();当虚拟机退出时删除文件
- */
- public static void file_delete() throws IOException, InterruptedException{
- File f=new File("g:/java/yesaaa.txt");
- boolean boo=f.createNewFile();
- System.out.println("create:"+boo);
- Thread.sleep(5000);//能够看到效果
- //boolean boo1=f.delete();
- f.deleteOnExit();//通常删除临时文件时用这个,当虚拟机关闭时,删除文件
- //System.out.println("delete:"+boo1);
- }
- /*
- * 建立文件createNewFile(),建立指定目录的文件,若是已存在,则返回false
- * 注意:这和输出流不同,输出流对象建立文件,若是文件已存在,则会覆盖,重新建立
- */
- public static void file_create() throws IOException{
- File f=new File("g:/java/yesaaa.txt");
- boolean boo=f.createNewFile();
- System.out.println(boo);
- }
- //几种建立File类的方式
- public static void mehtod_file(){
- File f1=new File("aa.txt");//用相对路径
- File f2=new File("c:\\aa\\bb\\c.txt");//用绝对路径
- File f3=new File("c:\\aa\\bb","c.txt");//文件夹路径和文件路径分开,便于操做
- File f4=new File("c:/aa/bb/c.txt");//注意用这个斜杠"/"一个就好了,和"\\"两个这样的效果是同样的,但这样写不利于跨平台
- File f5=new File("c:"+File.separator+"aa"+File.separator+"bb"+File.separator+"c.txt");//用File类中封装的separator()方法,能够实现跨平台
- System.out.println(f1);
- System.out.println(f2);
- System.out.println(f3);
- System.out.println(f4);
- System.out.println(f5);
- }
- }
package com.io.file;
import java.io.File;
import java.io.IOException;
public class File_1 {
public static void main(String[] args) throws IOException, InterruptedException {
//mehtod_file();//File类的几种建立方式
//file_create();//建立文件
//file_delete();//删除文件
//file_judge();//判断文件
//file_get();//获取File封装对象内容
file_renameTo();
}
/*
* 修改文件名称
* 剪切文件,并粘贴文件
*/
public static void file_renameTo(){
//实现文件剪切功能
// File f=new File("g:/java/aa.txt");
// File ff=new File("d:/bbb.txt");//注意:这里不能带文件夹;f封装的路径中的文件会被删除,ff封装的路径中的文件会被建立
// System.out.println(f.renameTo(ff));
//文件更名
File f1=new File("g:/java/aa.txt");
File f2=new File("g:/java/bb.txt");//注意:这里不能带文件夹;f封装的路径中的文件会被删除,ff封装的路径中的文件会被建立
System.out.println(f1.renameTo(f2));
}
/*
* 获取文件信息
*/
public static void file_get(){
File f=new File("g:/java/yes.txt");
System.out.println("getPath():"+f.getPath());//无论该文件是否存在,就是获取File对象封装的路径内容
System.out.println("getAbsolute()"+f.getAbsolutePath());//无论该文件是否存在,获取File对象封装的绝对路径
System.out.println("getName():"+f.getName());//获取File对象封装的文件名称,包括后缀名
System.out.println("getParent():"+f.getParent());//获取File对象封装的文件夹路径名,注意,该方法获取的文件夹路径是File对象封装的绝对路径才能获取的,若是File对象封装的是相对路径的话,则返回null;
//若是File对象封装的路径有上一层目录,则返回的目录就是该目录如:File f=new file("a\\b.txt");则返回a目录
System.out.println("lastModified():"+f.lastModified());//获取File对象封装的文件最后一次修改的时间
System.out.println("length():"+f.length());//获取File对象封装的文件的大小,即多少个字节
}
/*
* 判断文件
*
*/
public static void file_judge(){
File f=new File("g:/java/yes.txt");
System.out.println(f.canExecute());//判断文件是否可执行
System.out.println(f.exists());//判断文件是否存在
System.out.println("-----------------------------------------");
File ff=new File("g:/java/a/b/c/d/e/f");
// System.out.println(ff.mkdir());//建立文件夹
System.out.println(ff.mkdirs());//建立多级文件夹
System.out.println("------------------------------------------");
File fff=new File("zzzz.txt");
//注意在判断是不是文件和目录时,必定要先判断该文件对象封装的内容是否存在
//用exists();判断
System.out.println(fff.isDirectory());//判断是不是目录
System.out.println(fff.isFile());//判断是不是文件
System.out.println(fff.isHidden());//判断文件是否隐藏
System.out.println(fff.isAbsolute());//判断文件路径是不是绝对路径,及时文件不存在也能够判断
}
/*
*删除文件
* boolean delete();删除失败是返回false
* void deleteOnExit();当虚拟机退出时删除文件
*/
public static void file_delete() throws IOException, InterruptedException{
File f=new File("g:/java/yesaaa.txt");
boolean boo=f.createNewFile();
System.out.println("create:"+boo);
Thread.sleep(5000);//能够看到效果
//boolean boo1=f.delete();
f.deleteOnExit();//通常删除临时文件时用这个,当虚拟机关闭时,删除文件
//System.out.println("delete:"+boo1);
}
/*
* 建立文件createNewFile(),建立指定目录的文件,若是已存在,则返回false
* 注意:这和输出流不同,输出流对象建立文件,若是文件已存在,则会覆盖,重新建立
*/
public static void file_create() throws IOException{
File f=new File("g:/java/yesaaa.txt");
boolean boo=f.createNewFile();
System.out.println(boo);
}
//几种建立File类的方式
public static void mehtod_file(){
File f1=new File("aa.txt");//用相对路径
File f2=new File("c:\\aa\\bb\\c.txt");//用绝对路径
File f3=new File("c:\\aa\\bb","c.txt");//文件夹路径和文件路径分开,便于操做
File f4=new File("c:/aa/bb/c.txt");//注意用这个斜杠"/"一个就好了,和"\\"两个这样的效果是同样的,但这样写不利于跨平台
File f5=new File("c:"+File.separator+"aa"+File.separator+"bb"+File.separator+"c.txt");//用File类中封装的separator()方法,能够实现跨平台
System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
System.out.println(f4);
System.out.println(f5);
}
}
【有奖提问】CSDN论坛第1期专家问答开始
来极客头条,赢下载积分
下载频道3月领任务~赚下载分!
-
- import java.io.File;
- import java.io.FilenameFilter;
-
- public class File_listRoots {
- public static void main(String[] args) {
- //listRoots();//列出全部有效盘符
- //list();//列出根文件下全部文件,文件夹,及隐藏文件
- // listFilter();//文件名过滤
- // listFiles();//获取当前目录下File对象
- File f=new File("g:/");
- // digui(f);//递归调用,实现查询目录下全部的文件及文件夹,及文件夹中的文件
- System.out.println(digui1(8000));//递归调用
- }
- /*
- * 递归调用注意两点:
- * 1:限定条件
- * 2:要注意递归次数,尽可能避免内存溢出
- */
- public static int digui1(int a){
- if(a<=1){
- return 1;
- }else{
- return a+digui1(a-1);
- }
- }
- /*
- * 列出指定目录下文件或文件夹,包含子目录中的内容,遍历目录下全部的文件。
- * 由于目录中还有目录,只要使用同一个列出目录功能的函数完成便可
- * 在列出过程当中,出现的仍是目录的话,还能够再次调用本功能。也就是函数自身调用自身。
- * 这种表现形式或者变成手法成为递归
- */
- public static void digui(File f){
- System.out.println(f.getAbsolutePath());
- File[]ff=f.listFiles();
- for (int i = 0; i < ff.length; i++) {
- if(ff[i].isDirectory()){
- digui(ff[i]);//递归调用
- }else{
- System.out.println(ff[i]);
- }
- }
- }
- /*
- * listFiles();获取File对象
- */
- public static void listFiles(){
- File f=new File("g:/java");
- File[]ff=f.listFiles();
- for(File fff:ff){
- System.out.println(fff.getName()+"---------length:"+fff.length());
- }
- }
- /*
- * list(FileNameFilter filter),文件名过滤
- */
- public static void listFilter(){
- File f=new File("g:/java");
- String[]str=f.list(new FilenameFilter(){
- public boolean accept(File f,String name){
-
- return name.endsWith(".txt");//返回文件及文件夹名称以“.txt”为结尾的文件及文件夹
- // System.out.println(f+"---------name:"+name);//f表明文件目录,name表明文件夹名称及文件名称
- // return false;//返回false表示不返回
- // return true;//返回true表示返回
- }
- });
- for(String string:str){
- System.out.println(string);
- }
- }
- /*
- * //列出根文件下全部文件,文件夹,及隐藏文件
- */
- public static void list(){
- File f=new File("g:/java");//调用list()方法,该File对象必须封装一个目录,不能是文件,而且该目录确实存在才行
- String[] str=f.list();
- for (String string : str) {
- System.out.println(string);
- }
- }
- /*
- * File.listRoots():获取可用的文件系统根,简单来讲就是获取系统的盘符
- */
- public static void listRoots(){
- File[] f=File.listRoots();
- for (File file : f) {
- System.out.println(file);
- }
- System.out.println(f[0]);
-
- }
- }
package com.io.file;
import java.io.File;
import java.io.FilenameFilter;
public class File_listRoots {
public static void main(String[] args) {
//listRoots();//列出全部有效盘符
//list();//列出根文件下全部文件,文件夹,及隐藏文件
// listFilter();//文件名过滤
// listFiles();//获取当前目录下File对象
File f=new File("g:/");
// digui(f);//递归调用,实现查询目录下全部的文件及文件夹,及文件夹中的文件
System.out.println(digui1(8000));//递归调用
}
/*
* 递归调用注意两点:
* 1:限定条件
* 2:要注意递归次数,尽可能避免内存溢出
*/
public static int digui1(int a){
if(a<=1){
return 1;
}else{
return a+digui1(a-1);
}
}
/*
* 列出指定目录下文件或文件夹,包含子目录中的内容,遍历目录下全部的文件。
* 由于目录中还有目录,只要使用同一个列出目录功能的函数完成便可
* 在列出过程当中,出现的仍是目录的话,还能够再次调用本功能。也就是函数自身调用自身。
* 这种表现形式或者变成手法成为递归
*/
public static void digui(File f){
System.out.println(f.getAbsolutePath());
File[]ff=f.listFiles();
for (int i = 0; i < ff.length; i++) {
if(ff[i].isDirectory()){
digui(ff[i]);//递归调用
}else{
System.out.println(ff[i]);
}
}
}
/*
* listFiles();获取File对象
*/
public static void listFiles(){
File f=new File("g:/java");
File[]ff=f.listFiles();
for(File fff:ff){
System.out.println(fff.getName()+"---------length:"+fff.length());
}
}
/*
* list(FileNameFilter filter),文件名过滤
*/
public static void listFilter(){
File f=new File("g:/java");
String[]str=f.list(new FilenameFilter(){
public boolean accept(File f,String name){
return name.endsWith(".txt");//返回文件及文件夹名称以“.txt”为结尾的文件及文件夹
// System.out.println(f+"---------name:"+name);//f表明文件目录,name表明文件夹名称及文件名称
// return false;//返回false表示不返回
// return true;//返回true表示返回
}
});
for(String string:str){
System.out.println(string);
}
}
/*
* //列出根文件下全部文件,文件夹,及隐藏文件
*/
public static void list(){
File f=new File("g:/java");//调用list()方法,该File对象必须封装一个目录,不能是文件,而且该目录确实存在才行
String[] str=f.list();
for (String string : str) {
System.out.println(string);
}
}
/*
* File.listRoots():获取可用的文件系统根,简单来讲就是获取系统的盘符
*/
public static void listRoots(){
File[] f=File.listRoots();
for (File file : f) {
System.out.println(file);
}
System.out.println(f[0]);
}
}