教师做网站赚钱,深圳网络营销推广中心,服装外贸网站设计,网站建设考核标准目录 文件写入读取文件内容删除文件复制文件向文件中追加数据创建临时文件文件/目录最后的修改日期获取文件大小文件重命名设置文件只读检测文件是否存在创建文件文件路径比较递归创建目录删除目录判断目录是否为空判断文件是否隐藏获取目录大小在指定目录中查找文件获取文件的… 目录 文件写入读取文件内容删除文件复制文件向文件中追加数据创建临时文件文件/目录最后的修改日期获取文件大小文件重命名设置文件只读检测文件是否存在创建文件文件路径比较递归创建目录删除目录判断目录是否为空判断文件是否隐藏获取目录大小在指定目录中查找文件获取文件的上级目录遍历目录结构遍历指定目录下的所有目录输出指定目录下的所有文件在指定目录中查找匹配文件查看系统根目录查看当前工作目录 文件写入
package com.example.demo;import org.junit.Test;import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;public class FileTests {Testpublic void testWriteFile() throws IOException {BufferedWriter writer new BufferedWriter(new FileWriter(demo.txt));writer.write(你好世界);writer.close();}
}
查看写入结果
$ cat demo.txt
你好世界读取文件内容
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testReadFile() throws IOException {BufferedReader reader new BufferedReader(new FileReader(demo.txt));String line null;while ((line reader.readLine()) ! null) {System.out.println(line);// 你好世界}}
}
删除文件
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testDeleteFile() throws IOException {File file new File(demo.txt);boolean isDeleted file.delete();}
}
复制文件
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testCopyFile() throws IOException {InputStream input new FileInputStream(new File(source.txt));OutputStream output new FileOutputStream(new File(target.txt));byte[] buf new byte[1024];int len 0;while ((len input.read(buf)) 0) {output.write(buf, 0, len);}input.close();output.close();}
}
向文件中追加数据
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testAppendFile() throws IOException {BufferedWriter writer new BufferedWriter(new FileWriter(demo.txt, true));writer.write(Hello World! System.lineSeparator());writer.close();}
}
创建临时文件
方法签名
// prefix 前缀
// suffix 后缀
// directory 目录需要提前创建好public static File createTempFile(String prefix, String suffix, File directory)public static File createTempFile(String prefix, String suffix)package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testTempFile() throws IOException {File temp File.createTempFile(temp_, .txt, new File(temp));File absoluteFile temp.getAbsoluteFile();System.out.println(absoluteFile);BufferedWriter writer new BufferedWriter(new FileWriter(temp));writer.write(Hello World! System.lineSeparator());writer.close();}
}
$ cat temp/temp_4469794763475912115.txtHello World!文件/目录最后的修改日期
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testLastModifiedFile() throws IOException {File file new File(demo.txt);file.createNewFile();// 获取最后修改时间long lastModified file.lastModified();System.out.println(lastModified);// 1696666928606// 修改文件最后的修改日期file.setLastModified(System.currentTimeMillis());System.out.println(file.lastModified());// 1696667018522}
}
获取文件大小
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testGetFileSize() throws IOException {File file new File(demo.txt);long length file.length();System.out.println(length);// 434}
}
文件重命名
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testRenameFile() throws IOException {File file new File(demo.txt);File newFile new File(newDemo.txt);boolean ret file.renameTo(newFile);}
}
设置文件只读
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testReadOnlyFile() {File file new File(demo.txt);System.out.println(file.setReadOnly()); // trueSystem.out.println(file.canWrite()); // false}
}
检测文件是否存在
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testFileExists() {File file new File(demo.txt);System.out.println(file.exists()); // true}
}
创建文件
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testCreateFile() throws IOException {File file new File(demo.txt);System.out.println(file.createNewFile()); // true}
}
文件路径比较
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testCompareFile() throws IOException {File file1 new File(demo1.txt);File file2 new File(demo2.txt);System.out.println(file1.compareTo(file2)); // -1}
}
递归创建目录
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testMKDirs() throws IOException {File file new File(./temp/demo);boolean result file.mkdirs();System.out.println(result); // true}
}
删除目录
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {public static boolean deleteDir(File dir) {// 递归删除目录中的文件if (dir.isDirectory()) {for (File file : dir.listFiles()) {boolean success deleteDir(file);if (!success) {return false;}}}return dir.delete();}Testpublic void testDeleteDirectory() {File file new File(./temp);boolean result deleteDir(file);System.out.println(result); // true}
}
判断目录是否为空
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {public static boolean isEmptyDirectory(File dir) {if(!dir.isDirectory()){throw new RuntimeException(Not a Directory);}return dir.list().length 0;}Testpublic void testEmptyDirectory() {File file new File(./temp);boolean result isEmptyDirectory(file);System.out.println(result); // true}
}
判断文件是否隐藏
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testHiddenFile() {File file new File(./temp);boolean result file.isHidden();System.out.println(result); // false}
}
获取目录大小
依赖
!-- https://mvnrepository.com/artifact/commons-io/commons-io --
dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.11.0/version
/dependencypackage com.example.demo;import org.apache.commons.io.FileUtils;
import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testDirectorySize() {File file new File(./temp);long sizeOfDirectory FileUtils.sizeOfDirectory(file);System.out.println(sizeOfDirectory); // false}
}
在指定目录中查找文件
package com.example.demo;import org.junit.Test;import java.io.*;public class FileTests {Testpublic void testFindFileFromDirectory() {File file new File(./temp);String[] list file.list();for (String filename : list) {System.out.println(filename);}}
}
获取文件的上级目录
package com.example.demo;import org.junit.Test;import java.io.File;public class FileTests {Testpublic void testParent() {File file new File(/temp/demo.txt);String parent file.getParent();System.out.println(parent);// /temp}
}
遍历目录结构
package com.example.demo;import org.junit.Test;import java.io.File;public class FileTests {public static void showTree(int indent, File file) {// 缩进for (int i 0; i indent; i) {System.out.print(-);}System.out.println(file.getName());if(file.isDirectory()){for (File f : file.listFiles()) {showTree(indent 4, f);}}}Testpublic void testShowTree() {showTree(0, new File(./temp));}
}
打印结果
temp
----demo
--------demo1.txt
----demo.txt遍历指定目录下的所有目录
package com.example.demo;import org.junit.Test;import java.io.File;
import java.io.FileFilter;public class FileTests {Testpublic void testFileFilter() {File file new File(./temp);FileFilter fileFilter new FileFilter(){Overridepublic boolean accept(File pathname) {return pathname.isDirectory();}};File[] files file.listFiles(fileFilter);for (File f : files) {System.out.println(f);}}
}
输出指定目录下的所有文件
package com.example.demo;import org.junit.Test;import java.io.File;
import java.io.FileFilter;public class FileTests {Testpublic void testListFiles() {File file new File(./temp);File[] files file.listFiles();for (File f : files) {System.out.println(f);}}
}
在指定目录中查找匹配文件
package com.example.demo;import org.junit.Test;import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;public class FileTests {Testpublic void testListFiles() {File file new File(./temp);FilenameFilter filter new FilenameFilter(){Overridepublic boolean accept(File dir, String name) {return name.endsWith(.txt);}};File[] files file.listFiles(filter);for (File f : files) {System.out.println(f);}}
}
查看系统根目录
package com.example.demo;import org.junit.Test;import java.io.File;public class FileTests {Testpublic void testListFiles() {File[] roots File.listRoots();for (File f : roots) {System.out.println(f);}// /}
}
查看当前工作目录
package com.example.demo;import org.junit.Test;public class FileTests {Testpublic void testCurrentDirectory() {String currentDir System.getProperty(user.dir);System.out.println(currentDir);}
}参考
https://www.nowcoder.com/tutorial/10001/d7671778e69f4fd2b66c6209b4bce9a4