- 博客(25)
- 收藏
- 关注
原创 目录拷贝 2020-8-26
public class CopyAll { public static void main(String[] args) { //拷贝源 File srcFile = new File("G:\\shortcut\\学习资料\\java"); //拷贝目标 File destFile = new File("C:\\Users\\along\\Desktop\\888"); //调用方法拷贝 copyDir(.
2020-08-26 15:57:10 99
原创 DataInputStream 和 DataOutputStream 2020-08-23
DataInputStreamDataInputStream能以一种与机器无关(当前操作系统等)的方式,直接地从字节流读取Java基本数据类型和String类型的数据类型的数据,常用语网络传输(网络传输数据要求与平台无关)。DataOutputStream写的文件,只能使用DataInputStream去读。并且去读的时候你需要提前知道写入的顺序,读写顺序一致才能正常取出数据 Constructor and Description DataInputStream(InputStre...
2020-08-23 18:43:09 183
原创 File类 2020-08-23
一、概述java.io.File类是java.lang.Object的子类File类是专门用来管理磁盘文件和目录的。每个File类的对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息,如文件或目录的名称、文件的长度、目录中所含文件的个数等。调用File类的方法则可以完成对文件或目录的常用管理操作,如创建文件或目录、删除文件或目录、查看文件的有关信息等。二、构造方法public File(String path): //如果path是实际存在的路径,则该File.
2020-08-23 18:17:23 145
原创 PrintStream和PrintWriter 2020-8-23
一、PrintStream构造方法:①PrintStream(StringfileName)②PrintStream(OutputStreamout)③PrintStream(OutputStreamout, booleanautoFlush)public class PrintStreamTest02 { public static void main(String[] args) { PrintStream ps = null; ...
2020-08-23 17:05:21 141
原创 基本流
基本流为了减少程序开发人员,因频繁应用标准的输入输出设备,需要频繁地建立输入输出流对象的工作量,java系统预先定义好3个流对象,分别表示标准输出设备、标准输入设备和标准错误设备。他们分别是:System.in 用于程序的输入 对应外设为键盘 标准输入流 System.out 用于一般输出 对应外设为屏幕 标准输出流 System.err 用于显示出错信息 对应外设为屏幕 标准错误输出流 System 类的所有属性都是静态stat.
2020-08-23 15:29:27 1533
原创 转换流InputStreamReader和OutputStreamWriter 2020-8-22
什么时候使用转换流?在创建缓冲流对象 BufferedReader 或者BufferedWriter 时,构造方法需要一个 Reader 或者 Writer 节点流对象参数。这时只有FileInputStream字节流对象,这时就可以把使用转换流构造方法,把字节流--->字符流。InputStreamReader:public class InputStreamReaderTest01 { public static void main(String[] args) { .
2020-08-22 10:35:23 126
原创 使用FileReader+FileWriter实现文本文件的拷贝
只能拷贝纯文本文件public class FileCopy02 { public static void main(String[] args) { FileReader reader = null; FileWriter writer = null; try { reader = new FileReader("..\\..\\java\\temp.txt"); writer = new Fil
2020-08-22 10:19:53 334
原创 FileWriter文件字符输出流
继承结构:构造方法:常用方法:【注意】:writer的write()方法并没有将数据直接写入文件,而是保存在缓冲区,flush()方法才是将缓冲区的数据写入到文本文件中。重写写入(覆盖):public class FileWriterTest01 { public static void main(String[] args) { FileWriter fw = null; try { //创建文件字符输出流对
2020-08-22 10:14:37 391
原创 FileReader文件字符输入流 2020-8-22
java字符流是用于纯文本数据的操作,其中FileReader是文件字符输入流,继承InputStreamReader。FileReader只有三个构造方法,所有调用的方法其实都源于它的父类InputStream、Reader、Object。FileReader是按照字符数组读取,如果读完了整个文本,则返回-1。构造方法:常用方法:public class FileReaderTest01 { public static void main(String[] arg..
2020-08-22 10:02:19 165
原创 缓冲流的了解
缓冲流:BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter是包装流(处理流)的一种,它依赖于原始的输入输出流, 它令输入输出流具有1个缓冲区, 显著减少与外部设备的IO次数, 提高输入输出的效率,而且提供一些额外的方法。缓冲区就是专门用于传递数据的一块内存。当写入数据时,程序将数据发往缓冲区,缓冲区满,系统再将数据发往相应的设备;当读取数据时,程序重缓冲区读取,缓冲区若空,系统将从相应的设备读取.
2020-08-21 22:40:53 226
原创 使用FileInputStream+FileOutputStream实现文件的拷贝
拷贝的过程是一边读,一边写。使用字节流拷贝文件,文件类型随意(万能)。对上面这个文件进行拷贝代码:public class FileCopy { public static void main(String[] args) { FileInputStream fis = null; FileOutputStream fos = null; try { fis = new FileInputStream("
2020-08-19 15:31:17 1210
原创 FileOutputStream文件字节输出流
java.io.FileOutputStream:文件字节输出流,负责写。内存--->硬盘FileOutputStream实现了向文件中写入byte数据的方法。一、FileOutputStream的构造方法 publicFileOutputStream(Filefile) throws FileNotFoundException 创建文件输出流以写入由指定的File对象表示的文件。 publicFileOutputStream(Fil...
2020-08-19 14:37:27 696 1
原创 FileInputStream文件字节输入流
java.io.FileInputStream 文件字节输入流任何文件都可以采用这个流来读 字节的方式,完成输入的操作,完成读的操作(硬盘-->内存) 用read()方法一个一个字节读一、FileInputStream的构造方法 publicFileInputStream(Stringname) throws FileNotFoundException 通过打开一个到实际文件的连接来创建一个FileInputStream对象,该文件通过文件系统中的路径名 nam...
2020-08-18 22:31:22 1047
原创 初识JAVA输入输出流
一、流的概述我们知道存在硬盘中数据是永久保存的,而在内存中的数据只是临时的。内存中的数据可以存入硬盘中,硬盘中的数据也也可以读入内存中。我们把这种数据的传输,可以看做一种数据的流动。通过IO流可以完成硬盘文件的读和写!按照流动的方向,以内存为参考,分为:输入流(input):流向内存是输入流,从别的地方(文件、键盘、网络、内存等)读取数据到当前程序中。输出流(output):流出内存是输出流,从程序把数据写/输出到文件、屏幕(控制台)、网络、内存等中。输入也叫做(Read)读取数据,输出.
2020-08-18 17:16:42 221
原创 常见集合的初始化容量和扩容机制
底层数据结构 特点 无参构造(初始化容量) 有参构造(初始化容量) 扩容增量 扩容倍数 加载因子 ArrayList集合 数组 有序、不可重复、非线程安全 10 视情况而定 原容量的0.5倍 1.5倍 1 LinkedList集合 双向链表 有序、不可重复、非线程安全 无 无 无 无 无 Vector集合 数组 有序、不可重复、线程安全 10 ...
2020-08-16 15:29:15 537 2
原创 Collections工具类不是Collection集合接口
java.util.Collection 集合接口java.util.Collections 集合工具类public class CollectionsTest01 { public static void main(String[] args) { //ArrayList是非线程安全的 List<String> list = new ArrayList<>(); //变成线程安全的 Collections.
2020-08-12 23:01:11 248
原创 TreeSet 和 TreeMap集合
一、TreeSet 和 TreeMap 的概述① TreeSet 和 TreeMap 的继承结构② 简述TreeSet集合类实现了SortedSet接口,SortedSet接口继承了Set接口,Set接口继承了Collection接口。TreeSet集合中的元素无序不可重复,同时具有按照元素大小排序的功能。底层实现是二叉树数据结构,被称为可排序集合!TreeMap集合类实现了SortedMap接口,SortedMap接口继承了Map接口。TreeMap集合中的元素无序不可重复,同时具
2020-08-11 23:32:49 389
原创 初步了解Hashtable 和 Properties集合
一、概述Hashtable:Hashtable是一个Map集合,实现了Map接口,底层也是哈希表数据结构,是线程安全的。但是现在解决线程安全有其他更好的方法,所以这个Hashtable集合以后很少用了。Hashtable的 key 和 value 都不能为null,会出现空指针异常:java.lang.NullPointerException。Hashtable底层也是哈希表数据结构,初始化容量是11,默认加载因子是0.75。Hashtable扩容方式:扩容后的容量 = 原容量*2 +
2020-08-10 15:06:25 150
原创 深入HashSet、HashMap集合
一、哈希表数据结构散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希表是数组和单向链表的结合体。哈希表实际上是一个一维数组,数组中的每个元素是一个单向链表。数组:查询效率高,随机增删效率低。单向链表:随机增删效率高,查询效率低。哈希表将以上两种数据结构结合在一起,充分发挥它们各自的优点。哈希表数据结构二.
2020-08-08 22:49:57 216
原创 Map集合的遍历的两种方式
Map集合的遍历有两种方式:将Map集合转为Set集合 Set<Map.Entry<K,V>> entrySet()获取Map集合中的所有的key,所有的key是一个set集合 Set<K> keySet()一、将Map集合转为Set集合Map<Integer,String> maps = new HashMap<>();maps.put(1,"张三");maps.put(2,"李四");maps.put(3,"王五");map
2020-08-06 13:53:27 271
原创 Map<k,v>接口中常用的方法
一、Map集合的继承结构Map集合的继承结构二、Map接口中常用的方法Map集合中常用的方法 V put(K key, V value) 向Map集合中添加键值对 V get(Object key) 通过key获取value void clear() 清空Map集合 boolean containsKey(Object key) 判断Map中是否包含某个key boolean containsValue(Object value) 判断..
2020-08-05 23:58:33 1113
原创 增强For循环foreach
增强for循环:底层使用的是送代器,使用for循环的格式,简化了送代器的书写,foreach是JDK1.5之后出现的新特性 foreach又称增强for,是for循环的一个特殊简化版。 foreach虽然是for循环的简化版本,但是并不是说foreach就比for更好用,foreach适用于循环次数未知,或者计算循环次数比较麻烦情况下使用效率更高,但是更为复杂的一些循环还是需要用到for循环效率更高。 foreach不支持在循环中添加删除操作,因为在使用foreach循环的时候数组(集合)就已经被锁定
2020-08-04 21:47:31 256
原创 Java泛型 <E> 或 <T>
一、泛型的概述 JDK5.0以后的新特性:泛型 泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的(运行阶段泛型没用) 使用泛型的优点: 集合中存储的元素类型统一了 大部分情况下集合中元素的类型还是统一的。 从集合中取出来的类型是泛型指定的数据类型,这样就不用频繁的进行数据的强制类型转换 使用泛型的缺点: 导致集合中存储的元素缺乏多样性 减少了向下转型的操作 public class GenericTest...
2020-08-03 23:12:33 570
原创 List接口的实现类和常用方法
一、List接口概述List接口是Collection接口的扩展,List父接口是Collection。所有Collection接口中的方法映射到了子接口List中(并没有实现),而List接口的实现类都对这些方法进行了重写,List接口的实现类也可以用Collection接口中的方法。① List接口的特点: 有序:存取顺序相同 可重复:允许存储重复的元素 可以存储null值 有下标(索引),包含一些带索引的方法 ② List接口中特有常用的方法Li..
2020-08-02 23:00:49 1185
原创 Collection接口中常用的方法
一:Collection中能存储什么元素没有使用 “泛型” 之前,Collection中可以存储Object的所有子类型在使用 “泛型” 之后,Collection中只能存储某个具体的类型重申集合中不能直接存储基本数据类型,也不能存储Java对象,只能存储Java的内存地址二:Collection的常用方法public class CollectionTest01 { public static void main(String[] args) { //创建一个集合对
2020-08-01 21:37:51 516 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人