java.io.File的使用。
IO原理及流的分类。
文件流:FileInputStream、FileOutputStream、FileReader、FileWriter
缓存流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
转换流:InputStreamReader、OuputStreamReader
标准输入/输出流
打印流
数据流
对象流:涉及序列化和反序列化ObjectInputStream、ObjectOutputStream
随机存取文件流:RandomAcessFile
java.io.File类:文件和目录路径名的抽象表示形式,与平台无关。
File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
File对象可以作为参数传递给构造函数。
File类常用构造方法:
- public File(String pathname)。以pathname为路径创建File对象,可以是绝对路径,也可以是相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。
- public File(String parent,String child);。以parent为父路径,child为子路径创建File对象。
- File的静态属性String sperator存储了当前系统的路径分隔符,在Unix中,此字段为"/",在windows中为"\\"。
访问文件名:
- getName()
- getPath()
- getAbsoluFile()
- getAbosoluPath()
- getParent()
- renameTo(File newName)
文件检测:
- exists()
- canWrite()
- canRead()
- isFile()
- isDirectory()
获取常规文件信息:
- lastModify()
- length()
文件操作相关:
- createNewFile()
- delete()
目录操作相关:
- mkDir()
- list()
- listFiles()
package anno; import java.io.File; public class Test1 { static void main(String[] args) { File f = new File("F:\\test.txt"); System.out.println(f.getName()); //获取new File时的路径 System.out.println(f.getPath()); 获取文件的绝对路径 System.out.println(f.getAbsolutePath()); 用绝对路径包起来的File对象 System.out.println(f.getAbsoluteFile()); 当前文件的父级目录 System.out.println(f.getParent()); f.renameTo(new File("F:\\test2.txt")); File f2 = ); System.out.println(f2.exists()); System.out.println(f2.isFile()); System.out.println(f2.isDirectory()); 返回的是字节数 System.out.println(f2.length()); File f3 = new File("F:\\test3.txt"); if(!f3.exists()) { try { 创建文件 f3.createNewFile(); }catch(Exception e){ e.printStackTrace(); }finally { System.out.println("创建完毕"); } } 删除文件 f3.delete(); File f4 = new File("F:\\test4\\name"f.mkDir();创建单层目录 创建多层目录 f4.exists()) { f4.mkdirs(); } File f5 = new File("F:\\test4"返回的是字符串集合,包括文件和目录 String[] l1 = f5.list(); for(String l:l1){ System.out.println(l); } 返回的是个File集合,包括目录和文件 File[] l2 = f5.listFiles(); (File l:l2){ System.out.println(l); } } }
递归判断某个文件夹下的文件是文件夹还是文件。
new File("F:\\test\\"); obtainFiles(f); } obtainFiles(File f) { if(f.isFile()) { System.out.println(f.getAbsolutePath()+"是文件"); }else { System.out.println(f.getAbsolutePath()+"是文件夹"); File[] fs = f.listFiles();获取当前目录下的文件夹或文件 if(fs!=null && fs.length>0) { (File ff:fs) { obtainFiles(ff); } } } } }
输出:
F:\test是文件夹
F:\test\file1是文件夹
F:\test\file2是文件夹
F:\test\file3是文件夹
F:\test\file4是文件夹
F:\test\test1.txt是文件
F:\test\test2.txt是文件
F:\test\test3.txt是文件
F:\test\test4.txt是文件
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。