在 *** 作系统中,文件使数据的存储单位,每个文件都有着不同的属性。
在代码中,如何获取文件的各种属性呢? 下面的学习将让我们掌握这个技能
在java编程中,我们可以使用File类来进行文件属性获取
代码实例如下:
public static void main(String[] args) { File file=new File("Flag_Feedback.png"); System.out.println("获得文件名称:"+file.getName()); System.out.println("获得文件长度(大小):"+file.length()+"byte"); //获得文件相对路径 String filePath=file.getPath(); System.out.println(filePath); //获得文件绝对路径 System.out.println(file.getAbsolutePath()); //获得文件的URI路径 System.out.println(file.toURI()); //获得文件最后修改日期 System.out.println(new Date(file.lastModified())); //获得文件是否可读 System.out.println(file.canRead()); //获得文件是否可写 System.out.println(file.canWrite()); //获取文件是否可执行 System.out.println(file.canExecute()); //获取文件是否隐藏 System.out.println(file.isHidden()); }
上面的代码中,只要我们在new File()时给的是正确的文件路径,那么我们就可以通过new的FIle对象获取该文件的各种属性。
注意:File对象的创建有几种方式
import javax.swing.table.DefaultTableModel; import java.io.File; import java.sql.Date; import java.util.ArrayList; import java.util.List; public class CoreCoding { public static void main(String[] args) { Object[] result=listFiles(new File("D:\MyReposity\Study\study\Java动手做一做"),"png"); for (Object file:result){ File file1=(File)file; System.out.println(file1.getName()); } } public static boolean accept(File pathname,String extName) { // 获取用户设置的指定扩展名 if (extName == null || extName.isEmpty()) return false; if (!extName.startsWith("."))// 判断扩展名前缀 extName = "." + extName;// 完事扩展名前缀 extName = extName.toLowerCase(); // 判断扩展名与过滤文件名是否符合要求 if (pathname.getName().toLowerCase().endsWith(extName)) return true; return false; } private static Object[] listFiles(File dir,String extName) { List3.文本内容替换功能fileList=new ArrayList<>(); if (dir == null) return null; if(!dir.isDirectory()){ return null; } //获取目录下所有的文件的数组 File[] files = dir.listFiles(); //遍历文件数组 for (File file : files) { if(accept(file,extName)){ fileList.add(file); } } return fileList.toArray(); } }
package FileCoding.Exa414; import java.io.*; public class CoreCoding { public static void main(String[] args) { replaceText(new File("Text.txt"),"nima","tama"); } public static boolean replaceText(File file, String searchText, String replaceText){ if (searchText.isEmpty()) return false; try { FileReader fis = new FileReader(file);// 创建文件输入流 char[] data = new char[1024];// 创建缓冲字符数组 int rn = 0; StringBuilder sb = new StringBuilder();// 创建字符串构建器 while ((rn = fis.read(data)) > 0) {// 读取文件内容到字符串构建器 String str = String.valueOf(data, 0, rn); sb.append(str); } fis.close();// 关闭输入流 // 从构建器中生成字符串,并替换搜索文本 String str = sb.toString().replace(searchText, replaceText); FileWriter fOut = new FileWriter(file);// 创建文件输出流 fOut.write(str.toCharArray());// 把替换完成的字符串写入文件内 fOut.close();// 关闭输出流 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return true; } }
替换前:
替换后:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)