黑马程序员——java学习13(毕20--21总结)——IO

1、File

1.1、增删判获

  1 package learn2;
  2 /*File类的常见方法:
  3  * 1、创建
  4  *     boolean createNewFile();//在指定位置创建如果,如果该文件已存在,则不创建,返回false;
  5  *                                     输出流会覆盖
  6  *     boolean mkdir();//创建文件夹
  7  *             mkdirs();//创建多级文件夹
  8  *
  9  * 2、删除
 10  *     boolean delete();//删除失败,返回 false
 11  *     void deleteOnExit();//在程序退出时删除
 12  * 3、判断
 13  *     boolean exists();//文件是否存在
 14  *     isFile();
 15  *     isDirectory();
 16  *     isHidden();
 17  *     isAbsolute();测试此抽象路径名是否是绝对路径,即使不存在也可以判断
 18  *
 19  * 4、获取信息
 20  *     getName();
 21  *     getPath();
 22  *     getParent();
 23  *
 24  *     getAbsolutePath();
 25  *     long LastModify();
 26  *     long length();
 27  *
 28  * */
 29 import java.io.File;
 30 import java.io.IOException;
 31
 32 public class FileDemo {
 33     public static void main(String[] args) throws IOException{
 34         method_4();
 35     }
 36     public static void method_5()throws IOException
 37     {
 38         File f1 = new File("c:\\test.java");
 39         File f2 = new File("c:\\hahaha.java");
 40         sop("rename"+f1.renameTo(f2));
 41
 42     }
 43     public static void method_4()throws IOException
 44     {
 45         File f = new File("c:\\abc\\a.txt");
 46         sop("path:"+f.getPath());//你封装的是什么路径,返回什么
 47         sop("abspath:"+f.getAbsolutePath());//无论封装的是什么。都返回其所属目录变绝对路径
 48         sop("parent:"+f.getParent());//该方法返回的是绝对路径中的文件父目录,如果获取相对路径,返回空
 49                                         //如果相对路径中有上一层目录。该目录则是返回结果
 50     }
 51     public static void method_3()throws IOException
 52     {
 53         File f = new File("file.txt");
 54         f.createNewFile();
 55         //记住,在判断文件对象是否是文件或者目录时,必须要先判断该文件对象封装的内容是否存在
 56         //通过exists判断
 57         sop("dir:"+f.isDirectory());
 58         sop("file:"+f.isFile());
 59         sop(f.isAbsolute());
 60     }
 61     public static void method_2()throws IOException
 62     {
 63         File f = new File("file.txt");
 64 //        sop("execute:"+f.canExecute());
 65         //创建文件夹
 66         File dir = new File("abc");
 67         //只能创建一级目录
 68 //        sop("mkdir:"+dir.mkdir());
 69         sop("mkdir:"+dir.mkdirs());
 70     }
 71     public static void method_1()throws IOException
 72     {
 73         File f= new File("file.txt");
 74         f.deleteOnExit();//在程序退出时删除
 75 //        sop("create:"+f.createNewFile());
 76         sop("delete:"+f.delete());
 77     }
 78
 79
 80
 81     public static void consMethod()
 82     {
 83         //将a.txt封装成file对象,可以将已有的和未出现的文件或者文件夹封装成对象
 84         File f1= new File("a.txt");
 85         //
 86         File f2= new File("c:\\abc","b.txt");
 87
 88         File d = new File("c:\\abc");
 89         File f3= new File(d,"c.txt");
 90
 91         sop("f1:"+f1);
 92         sop("f2:"+f2);
 93         sop("f3:"+f3);
 94
 95         File f4 = new File("c:"+File.separator+"abc\\");
 96
 97     }
 98     public static void sop(Object obj)
 99     {
100         System.out.println(obj);
101     }
102 }

1.2、文件列表

调用list方法的对象,必须是真实存在的目录

File[] listFiles(FilenameFilter filter)根据文件名过滤器过滤后得到的文件名数组

 1 package learn2;
 2
 3 import java.io.File;
 4 import java.io.FilenameFilter;
 5
 6 public class FileDemo2 {
 7     public static void main(String[] args) {
 8         File dir = new File("c:\\");
 9         File[] files = dir.listFiles();
10         for(File f:files)
11         {
12             System.out.println(f.getName()+"::"+f.length());
13         }
14     }
15     public static void listDemo_2()
16     {
17         File dir = new File("c:\\");
18         //内部类
19         String[] arr = dir.list(new FilenameFilter()
20         {
21             public boolean accept(File dir, String name)
22             {
23 //                System.out.println("dir:"+dir);
24 //                System.out.println("name:"+name);
25 //                if(name.endsWith(".bmp"))
26 //                    return true;
27 //                else
28 //                return false;
29                 return name.endsWith(".bmp");
30             }
31         });
32         System.out.println("leng:"+arr.length);
33         for(String name:arr)
34         {
35             System.out.println(name);
36         }
37     }
38     public static void listDemo()
39     {
40         File f = new File("c:\\");
41         String[] names = f.list();//包含隐藏文件,调用list的必须封装了一个真实存在的目录
42         for(String name :names)
43         {
44             System.out.println(name);
45         }
46     }
47     private static void listRootDemo() {
48         // TODO Auto-generated method stub
49         File[] files= File.listRoots();
50         for(File f:files)
51         {
52             System.out.println(f);
53         }
54
55     }
56 }

运行结果为对应目录下的文件名数组

1.3、

时间: 2024-10-15 18:41:23

黑马程序员——java学习13(毕20--21总结)——IO的相关文章

黑马程序员-JAVA学习日记-数组YNPB

黑马程序员学习笔记黑马程序员编程基础数组培训.培训.期待与您交流!数组:是存储同一种数据类型的的集合,也叫容器:特点:是数组中每个元素都有索引从开始:数组的定义式:数据类型数组名数据类型元素个数:数据类型数组名数据类型元素个数:如:数据类型数组名数据类型元素数据类型数组名元素如:如果元素确定就用这一种:数组中有一个属性:获取数组中的元素个数,即数组的长度:中的内存机制:栈:存储局部变量,一般定义在函数内的变量成为局部变量:特点:当内存中数据操作完成后,所占空间会自动释放栈内存堆:是通过创建的实体

黑马程序员——java学习12(毕18--总结)——IO

1.IO流 处理设备之间的数据传输 字符流为了处理文字而存在,基于字节流,其中融合了编码表 1.1.Writer--------write,flush,close java.util.FileWriter FileWriter(String fileName)根据给定的文件名构造一个FileWriter对象 java.io.OutputStreamWriter void write(String str, int off, int len)将数据写入流中 void flush()刷新流中的缓冲

黑马程序员——java学习11(毕17--总结)——

1.字符串排序 考虑一个空格和多个空格的限定 转化时记得对象间比较实用compareTo 1 package learn; 2 3 import java.util.Arrays; 4 5 /*对一个字符串进行从小到大排序 6 * 20 78 9 -7 88 36 29 7 * 思路 8 * 1.排序,多用int 9 * 2.如何获取到这个字符串中的这些需要排序的数值? 10 * 发现这个字符串中其实都是空格来对数值进行分隔的 11 * 所以就想到用字符串对象的切割方法将大串变成多个小串 12

黑马程序员——java学习9(毕15-16总结)——TreeSet

1. 1 package learn; 2 /* 3 * |--TreeSet 4 * 可以对Set集合排序 5 * 底层数据结构是二叉树 6 * 保证数据唯一性的依据:compareTo方法return 0:原序return 1: 7 * 8 * TreeSet排序的第一种方式:让元素子集具备比较性.元素需要实现compareTo接口,覆盖compareTo方法 9 * 也称为元素的自然顺序,默认顺序 10 * 11 * TreeSet的第二种排序方式:当元素自身不具备比较性时,或者具备的比较

黑马程序员Java学习日记之 Java-其他类型

OK , 就绪, 第一篇博客开撸 ~ android培训.java培训.期待与您交流! 先听了毕姥爷激情澎湃的其他类型 ,从这里开始入手吧 : (一)System类  System类代表系统类,系统的属性和方法都放在该类.System类是一个final类, 它不能被初始化,,即System类中的属性和方法都是static的,可以直接陪调用.System的成员变量有 out,in, err 即标准输入输出和错误输入(流),常用到的System类的方法有下面几个: a. arraycopy方法 :p

黑马程序员——JAVA学习笔记十四(高新技术三)

10 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供定的服务. 按照代理的创建时期,代理类可以分为两种. 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译.在程序运行前,代理类的.class文件就已经存在了. 动态代

黑马程序员——JAVA学习笔记十二(高新技术一)

 1,    静态导入: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package com.solaire.enhance; import static java.lang.Math.max;  //import   语句可以导入一个类或某个包中的所有类 //import static  静态导入 JDK5以后才有.语句导入一个类中的某个静态方法或所有静态方法 //无名包和有包名中的类在一起,没有package,则为无名包. //一个类

黑马程序员——JAVA学习笔记十三(高新技术二)

8,    注解 Annotation(注解)是JDK5.0及以后版本引入的. 注解是以 @注解名 的形式标识 注解不会影响程序语义,只作为标识 注解是新的类型(与接口很相似),它与类.接口.枚举是在同一个层次,它们都称作为java的一个类型(TYPE). 它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明,注释. 它的作用非常的多,例如:进行编译检查.生成说明文档.代码分析等 注释类型 是一种特殊的接口 用 @interface 声明如 [email prote

黑马程序员——java学习6(127-151总结)——多线程

---恢复内容开始--- 1.多线程 进程:是一个正在执行中的程序. 每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫控制单元. 线程:就是进程中的一个独立的控制单元 线程在控制着进程的执行 一个进程中至少有一个线程. Java VM 启动的时候回有一个进程java.exe 该进程中至少一个线程负责java程序的执行 而且这个线程运行的代码存在于main方法中 该线程称之为主线程. 扩展:其实更细节说明jvm,启动的还有垃圾回收机制的线程 创建线程的方式 1.1继承Thread (1