wordpress 很占内存,成都百度推广优化创意,可以做查询功能的网站,网站的建设价格File类:用于访问磁盘的目录或文件 Files类:工具类#xff0c;提供常规的目录或文件的工具方法 获取当前硬盘中的所有分区:
每个分区都是一个File类型的对象
package com.ztt.Demo01;import java.io.File;//File类和Files类
//File类:用… File类:用于访问磁盘的目录或文件 Files类:工具类提供常规的目录或文件的工具方法 获取当前硬盘中的所有分区:
每个分区都是一个File类型的对象
package com.ztt.Demo01;import java.io.File;//File类和Files类
//File类:用于访问磁盘的目录或文件
//Files类:工具类提供常规的目录或文件的工具方法
public class demo01 {public static void main(String[] args) {//获取当前硬盘中的所有分区//每个分区都是一个File类型的对象File[] rootsFile.listRoots();for(File f : roots) {if(f ! null) {System.out.println(分区名称f.getPath() );System.out.println(分区容量f.getTotalSpace()/1024/1024/1024);System.out.println(可用容量f.getUsableSpace()/1024/1024/1024);}}}}运行结果
分区名称C:\
分区容量150
可用容量99
分区名称D:\
分区容量164
可用容量144
分区名称E:\
分区容量162
可用容量157package com.ztt.Demo01;import java.io.File;public class demo02 {public static void main(String[] args) {//每个目录都是一个File类型的对象//字符串类型的文件路径String pathD:\\test\\music;//创建File对象时必须传入目录(文件的路径)File dirnew File(path);//获取目录相关的信息System.out.println(目录的路径dir.getPath());System.out.println(目录的名称dir.getName());System.out.println(父目录路径dir.getParent());System.out.println(父目录名称dir.getParentFile().getName());//获取子文件和子目录//获取所有子文件或子目录//每个子文件或子目录都是一个File对象File[] listFilesdir.listFiles();for(File f:listFiles) {if(f.isDirectory()) {//子目录System.out.printf(【%s】\n,f.getName());}else {//子文件System.out.printf(%s的文件内容长度是%d字节\n,f.getName(),f.length());}}// System. out.println(了文件和子目录的名称:);
// //获取所有子文件或子目录的名称
// String[] listNames dir.list();
// for (String name : listNames) {
// System.out.println(name );
// }}}运行结果
目录的路径D:\test\music
目录的名称music
父目录路径D:\test
父目录名称test
【001】
【002】
【003】
【004】
Mojito.mp3的文件内容长度是7640753字节
彩虹.mp3的文件内容长度是10480397字节
晴天.mp3的文件内容长度是10793969字节package com.ztt.Demo01;import java.io.File;
import java.io.FileFilter;public class demo03 {public static void main(String[] args) {File dirnew File(D:\\test\\music);//仅获取子文件音乐文件//File[] listFilesdir.listFiles();//返回所有的子文件或子目录//通过FilenameFilter接口进行子文件名称的检查过滤// File[] listFiles dir.listFiles(new FilenameFilter() {..});//通过FileFilter接口进行子文件的过滤//传入子文件或子目录的File对象进行过滤File[] listFilesdir.listFiles(new FileFilter() {Overridepublic boolean accept(File f) {//每个文件传入//System.out.println(再accept()方法中 f.getName());if(f.isDirectory() || !f.getName().endsWith(.mp3)) {return false;}return true;}});for(File f:listFiles) {System.out.printf(音乐文件%s的长度是%d字节\n,f.getName(),f.length());}}}运行结果
音乐文件Mojito.mp3的长度是7640753字节
音乐文件彩虹.mp3的长度是10480397字节
音乐文件晴天.mp3的长度是10793969字节
创建目录
创建单层目录
传入一个目录路径(该目录路径代表的目录并不存在)
创建多层目录
package com.ztt.Demo01;import java.io.File;public class demo04 {public static void main(String[] args) {//创建目录//创建单层目录//传入一个目录路径(该目录路径代表的目录并不存在)File dir1new File(D:\\test\\music\\003);boolean isMkdirdir1.mkdir();System.out.println(dir1.getName()创建isMkdir);//创建多层目录File dir2new File(D:\\test\\music\\004\\aaa\\bbb\\ccc);dir2.mkdirs();}}
运行结果
003创建false
创建文件
package com.ztt.Demo01;import java.io.File;
import java.io.IOException;public class demo05 {public static void main(String[] args) {//创建文件File fnew File(D:\\test\\music\\004\\aaa\\bbb\\ccc\\xxx.mp3);try {f.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
package com.ztt.Demo01;import java.io.File;
import java.io.FileFilter;
import java.util.HashMap;
import java.util.Map.Entry;public class demo06 {public static void main(String[] args) {HashMapString, File mp3FileMapreadMp3Files();for(EntryString, File entry:mp3FileMap.entrySet()) {System.out.printf(音乐名称%s\t,entry.getKey());System.out.printf(音乐文件路径%s,entry.getValue().getPath());System.out.println();}}//读取指定目录中的所有MP3文件并保存至Map//key :音乐名称(不含后缀名)//value :音乐文件对象public static HashMapString, File readMp3Files(){File dirnew File(D:\\test\\music);File[] filesdir.listFiles(new FileFilter() {Overridepublic boolean accept(File f) {if(f.isDirectory() || !f.getName().endsWith(.mp3)) {return false;}return true;}});//遍历File[]数组重新保存至Map中HashMapString, File fileMap new HashMapString,File();for (File f : files) {//获取文件名称(含后缀名)String fileName f.getName();//计算key(不含后缀名的文件名称)String key fileName.substring(0,fileName.indexOf(.));fileMap.put( key,f);}return fileMap;}}运行结果
音乐名称晴天 音乐文件路径D:\test\music\晴天.mp3
音乐名称彩虹 音乐文件路径D:\test\music\彩虹.mp3
音乐名称Mojito 音乐文件路径D:\test\music\Mojito.mp3
创建文件路径
package com.ztt.Demo01;import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;public class demo07 {public static void main(String[] args) {//创建文件路径//方式1Path path1Paths.get(D:\\test\\music\\Mojito.mp3);System.out.println(path1);//方式2File fnew File(D:\\test\\music\\Mojito.mp3);Path path2f.toPath();System.out.println(path2);}}
运行结果
D:\test\music\Mojito.mp3
D:\test\music\Mojito.mp3
文件的复制
package com.ztt.Demo01;import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;public class demo08 {public static void main(String[] args) {//文件的复制//Files.copy(in, target, options)try {//源文件路径File sourceFile new File(D:\\test\\music\\彩虹.mp3 );Path source sourceFile.toPath( );//目标文件路径Path target Paths.get(D:\\test\\music\\001\\caihong.mp3);//复制//仅复制一次不允许重复复制//Files.copy( source, target);//Files.copy(source, target, StandardCopyOption.COPY_ATTRIBUTES);//复制多次允许重复复制Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);}catch(IOException e) {e.printStackTrace();}}}读取文件内容(文本文件)
package com.ztt.Demo01;import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;public class demo09 {public static void main(String[] args) {//读取文件内容(文本文件)//Files.readAllLines(path) ;try {//读取文本文件中的所有文本内容ListString linesFiles.readAllLines(Paths.get(D:\\test\\LICENSE));for(String ln:lines) {System.out.println(ln);}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
写入文件(文本文件)
package com.ztt.Demo01;import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;public class demo10 {public static void main(String[] args) {// 写入文件(文本文件) // Files.write(path, lines, options);// Files.write(path字节数组,options);// Files.write(pathCollection单例集合,指定字符编码集,options);// 案例1// 写入文件内容来自一个集合try {// 一个保存若个字符串的单例集合(Collection类型)// ListArrayListString list new ArrayListString();list.addAll(Arrays.asList(北京,上海,西安));// Set
// HashSetString set new HashSetString();
// set.addAll(Arrays.asList(成都,重庆,贵阳));// 将集合的内容写入文本文件Files.write(Paths.get(D:\\test\\music\\002\\city.txt), list,Charset.forName(utf-8),// 设置指定字符编码集StandardOpenOption.APPEND);} catch (IOException e1) {e1.printStackTrace();}// 案例2// 写入文件内容来自一个字节数组try {//byte[] array1 {65,66, 67,68,69};byte[] array2 十年生死两茫茫不思量自难忘.getBytes();// 覆盖原内容
// Files.write(Paths.get(D:\\test\\music\\002\\20240129.txt),array1);// 追加原内容Files.write(Paths.get(D:\\test\\music\\002\\20240129.txt),array2,StandardOpenOption.APPEND);} catch (IOException e2) {e2.printStackTrace();}}
} 深度遍历文件 方式1:递归的方式 方式2:使用Files工具类 package com.ztt.Demo01;import java.io.File;
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;public class demo11 {public static void main(String[] args) {// 深度遍历文件File root new File(D:\\test);// 方式1:递归的方式// ShowFiles1(root);// 方式2:使用Files工具类ShowFiles2(root);}private static void ShowFiles1(File dir) {System.out.println(dir);// 获取当前目录下的所有子文件或子目录File[] listFiles dir.listFiles();// 遍历所有子目录或子文件if(listFiles ! null) {for(File f : listFiles) {if(f.isDirectory()) {// 如果是目录,递归调用ShowFiles1(f);}else if(f.isFile()) {// 如果是文件,打印文件内容System.out.println(f);}}}}private static void ShowFiles2(File dir) {Path start dir.toPath();// SimpleFileVisitor类的匿名子类try {// 参数1: start代表开始路径// 参数2: FileVisitor接口实现类对象// (提供SimpleFileVisitor实现子类)Files.walkFileTree(start, new SimpleFileVisitorPath() {// 处理目录
// Override
// public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
// System.out.println(dir); // 打印目录
// return FileVisitResult.CONTINUE;
// }Overridepublic FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {System.out.println(dir);// 打印目录return FileVisitResult.CONTINUE;}// 处理文件Overridepublic FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {System.out.println(file);return FileVisitResult.CONTINUE;}});} catch (IOException e) {e.printStackTrace();}}
}
运行结果
D:\test
D:\test\21级.txt
D:\test\LICENSE
D:\test\music
D:\test\music\001
D:\test\music\001\caihong.mp3
D:\test\music\002
D:\test\music\002\20240129.txt
D:\test\music\002\city.txt
D:\test\music\003
D:\test\music\004
D:\test\music\004\aaa
D:\test\music\004\aaa\bbb
D:\test\music\004\aaa\bbb\ccc
D:\test\music\004\aaa\bbb\ccc\xxx.mp3
D:\test\music\Mojito.mp3
D:\test\music\彩虹.mp3
D:\test\music\晴天.mp3
D:\test\幸运儿.txtpackage com.ztt.Demo01;import java.io.File;
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;public class demo12 {public static void main(String[] args) {
HashMapString, File mp3FileMapreadMp3Files();for(EntryString, File entry:mp3FileMap.entrySet()) {System.out.printf(音乐名称%s\t,entry.getKey());System.out.printf(音乐文件路径%s,entry.getValue().getPath());System.out.println();}}//读取指定目录中的所有MP3文件并保存至Map//key :音乐名称(不含后缀名)//value :音乐文件对象public static HashMapString, File readMp3Files(){File dirnew File(D:\\);//保存查找到的mp3文件ArrayListFile mp3FileListnew ArrayListFile();try {Files.walkFileTree(dir.toPath(), new SimpleFileVisitorPath() {Overridepublic FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {//判断如果是MP3文件if(file.toFile().getName().endsWith(.mp3)) {//添加至集合mp3FileList.add(file.toFile());}return FileVisitResult.CONTINUE;}//访问文件出错时继续遍历Overridepublic FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {return FileVisitResult.CONTINUE;}});} catch (IOException e) {e.printStackTrace();}//遍历File[]数组重新保存至Map中HashMapString, File fileMap new HashMapString,File();for (File f : mp3FileList) {//获取文件名称(含后缀名)String fileName f.getName();//计算key(不含后缀名的文件名称)String key fileName.substring(0,fileName.indexOf(.));fileMap.put( key,f);}return fileMap;}}