JAVA基础-File(1)
来源:互联网 发布:淘宝满减活动怎么设置 编辑:程序博客网 时间:2024/06/14 13:59
1.创建Files路径:
File:文件和目录路径名的抽象表示形式。
File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
file常用方法:
创建功能: boolean createNewFile()
boolean mkdir() 创建此抽象路径名指定的目录,创建文件夹
boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
删除功能:boolean delete()
获取功能:boolean exists()
判断功能: File getAbsoluteFile()
绝对路径:固定不可改变的路径,一盘符开头
相对路径: 相对某个参照物,不能以盘符开头,默认为项目路径。
源码分析:
@Test public void Method() { File file = new File("a.txt"); System.out.println(file.exists()); //true System.out.println(file.isAbsolute()); //false System.out.println(file.isDirectory());//false System.out.println(file.isFile());//true }
@Test public void method02() { File file = new File("a.txt"); System.out.println(file.getAbsoluteFile()); System.out.println(file.getAbsolutePath()); //C:\Users\workspace\Scanner\a.txt //C:\Users\workspace\Scanner\a.txt System.out.println(file.getParent());//null System.out.println(file.getParentFile());//null System.out.println(file.lastModified());//0 Date date = new Date(1495027122528L); System.out.println(date.toLocaleString()); //2017-5-17 21:18:42 File file2 = new File("a_rename.txt"); System.out.println(file.renameTo(file2));//true }
查看文件夹下有多少文件
@Test public void method01() throws Exception{ File file = new File("b_test"); System.out.println(file.createNewFile()); File file2 = new File("C:\\JavaTest"); File file3 = new File("c.txt");// 只有指向文件夹的File对象才可以调用这个方法。 File[] files = file2.listFiles(); for (File file4 : files) { System.out.println(file4.getName()); } }
2. 输出指定目录下所有的JAva文件名
public class FileDemo4 { public static void main(String[] args) { File file = new File("C:\\Eclipse"); method(file); }// 包含子目录 public static void method(File file) { if (file.isDirectory()) { File[] files = file.listFiles(); for (File file2 : files) { if (file2.isFile()) { if (file2.getName().endsWith(".java")) { System.out.println(file2.getName()); } else if (file2.isDirectory()) {// 是一个目录对象 method(file); } } } } }// 不包含子目录 public static void method2(File file) { if (file.isDirectory()) { System.out.println(file.getAbsolutePath()); File[] files = file.listFiles(); for (File file2 : files) { if (file2.isFile()) { if (file2.getName().endsWith(".java")) { System.out.println(file2.getName()); } } } } }}
3.输出流中找不到文件时,会自动创建
// 输出流写一个不存在的文件,不会报错,反而会创建。 FileOutputStream fileOutputStream = new FileOutputStream("C:\\Eclipse\\javaTest.java");
4.复制文件夹,rename并且复制源文件夹下的所有内容
public class CopyFolder { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File src = new File("C:\\Eclipse\\123"); File dest = new File("C:\\Eclipse\\456");// System.out.println(src.getName() + dest.getName()); copy(src,dest); } public static void copy(File src,File dest) throws IOException {// 判断目的文件夹是否存在 if (!dest.exists()) { dest.mkdir(); }// 在456里面创建出一个123文件夹 File newfile = new File(dest,src.getName()); newfile.mkdir(); File[] arr = src.listFiles();// 获取文件夹下的所有子文件// copy(newfile, arr); for (File file : arr) { if (file.isFile()) { copyfile(newfile, file); }else{ copy(file, newfile); } } } private static void copyfile(File newfile, File file) throws FileNotFoundException, IOException { FileInputStream fileInputStream = new FileInputStream(file); FileOutputStream fileOutputStream = new FileOutputStream(new File(newfile,file.getName()),true);// 创建一个向具有指定 name 的文件中写入数据的输出文件流。 int i; while ((i = fileInputStream.read())!= -1) { fileOutputStream.write(i); } fileInputStream.close(); fileOutputStream.close(); }}
5.文件复制
/*
* 二进制文件只能用字节流。
* 文本文件的复制可以使用字节流,也可以使用字节流
* 图片只能使用字节流。
*
* */
public static void main(String[] args) throws IOException { // TODO Auto-generated method stub// 创建字节输入流// FileReader fileReader = new FileReader("javaTest.jpg");// 创建字节输出流// FileWriter filterWriter = new FileWriter("C:\\Eclipse"); FileInputStream fileInputStream = new FileInputStream("javaTest.jpg"); FileOutputStream fileOutputStream = new FileOutputStream("C:\\Eclipse\\haha.jpg"); int len; byte[] bytes = new byte[1024]; while ((len = fileInputStream.read(bytes)) != -1) { fileOutputStream.write(bytes, 0, len); } // 释放资源 fileInputStream.close(); fileOutputStream.close(); }
阅读全文
0 0
- JAVA基础-File(1)
- JAVA基础:File
- JAVA基础:File
- Java基础----File
- Java基础-File类
- JAVA基础----File类
- java中File基础
- Java File操作基础
- Java基础-File概述
- java基础之File
- Java基础 file IO
- JAVA基础——File
- Java基础-IO-File(笔记)
- java IO 刘 File 基础
- java基础(九),File
- java基础整理-File类
- java:File常用基础操作
- java基础------>File--->扫描功能
- installation failed since the device possibly has stale dexed jars that don't match the current v...
- 显示实例化和显示具体化(模版特例化)
- OpenCV之Python学习笔记
- NAT和代理服务器
- java TCP/IP Socket编程-----发送和接受数据---投票例子--笔记7
- JAVA基础-File(1)
- axios中文文档
- C#隐藏桌面图标
- cookie
- js中的栈和队列
- java获取三个月之前时间与当前时间
- 汇编学习笔记 第四章
- web项目上有一个红叉,运行时不报错
- 利用ffmpeg解析视频文件信息