1. 字符流
    字符流=字节流+编码
package demo04;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;//字符流,中文操作更方便
public class Demo01 {public static void main(String[] args) throws IOException {String s="月华";//[-26, -100, -120, -27, -115, -114]byte[]bys=s.getBytes("UTF-8");System.out.println(Arrays.toString(bys));}
}

GBK:最常用的中文码表
Unicode:统一码。ASCII一个字节,拉丁字符两个字节,中文三个字节
字符串中的编码和解码:

package demo04;
/*
使用哪种方式编码,就要用对应的方式解码。*/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
public class Demo01 {public static void main(String[] args) throws IOException {//编码String s="月华";//[-26, -100, -120, -27, -115, -114]byte[]bys=s.getBytes("UTF-8");System.out.println(Arrays.toString(bys));//解码String ss=new String(bys,"UTF-8");System.out.println(ss);}
}

字符流中的编码和解码:

package demo04;import java.io.*;/*
字符流编码解码*/
public class Demo02 {public static void main(String[] args) throws IOException {//编码FileOutputStream fos=new FileOutputStream("ops.txt");OutputStreamWriter osw=new OutputStreamWriter(fos);osw.write("保罗");osw.close();//解码
//        InputStreamReader​(InputStream in) 创建一个使用默认字符集的InputStreamReader。
//        InputStreamReader​(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。InputStreamReader isr=new InputStreamReader(new FileInputStream("ops.txt"));int by;while((by=isr.read())!=-1){System.out.print((char)by);}isr.close();}
}

字符流写数据的5种方式:

package demo04;import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;/*
写入的5种方式:
void write​(char[] cbuf) 写入一个字符数组。
abstract void write​(char[] cbuf, int off, int len) 写入字符数组的一部分。
void write​(int c) 写一个字符
void write​(String str) 写一个字符串
void write​(String str, int off, int len) 写一个字符串的一部分。*/
public class Demo03Write {public static void main(String[] args) throws IOException {OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("bos.txt"));//osw.write(97);//char[]ch={97,98,99,100,101};//osw.write(ch,1,3);osw.write("MaYun");osw.close();}
}

字符流读数据的两种方式:

package demo04;import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;/*
字符流读数据的两种方法:
int read​() 读一个字符
int read​(char[] cbuf, int offset, int length) 将字符读入数组的一部分。*/
public class Demo03Read {public static void main(String[] args) throws IOException {InputStreamReader isr=new InputStreamReader(new FileInputStream("sanfang.txt"));
//        int by;
//        while((by=isr.read())!=-1){//            System.out.print((char)by);
//        }char[]ch=new char[1024];int len;while((len=isr.read(ch))!=-1){System.out.print(new String(ch,0,len));}}
}

字符流复制Java文件:

package demo04;import java.io.*;/*
字符流复制java文件*/
public class Demo05Copy {public static void main(String[] args) throws IOException {InputStreamReader isr=new InputStreamReader(new FileInputStream("Demo03Write.java"));OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("Copy.java"));int by;while((by=isr.read())!=-1){osw.write(by);}isr.close();osw.close();}
}

复制Java文件的改进版:

package demo04;import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;/*
复制Java文件的改进版*/
public class Demo06Copy {public static void main(String[] args) throws IOException {FileReader fr=new FileReader("Copy.java");FileWriter fw=new FileWriter("Copy2.java");char[]ch=new char[1024];int len;while((len=fr.read(ch))!=-1){fw.write(ch,0,len);}fr.close();fw.close();}
}

字符缓冲流读写数据:

package demo04;import java.io.*;/*
字符缓冲流读写数据*/
public class Demo07Buffered {public static void main(String[] args) throws IOException {//        BufferedWriter bw=new BufferedWriter(new FileWriter("bw.txt"));
//        bw.write("hello\n");
//        bw.write("world\n");
//        bw.close();BufferedReader br=new BufferedReader(new FileReader("bw.txt"));int by;while((by=br.read())!=-1){System.out.print((char)by);}}
}

字符缓冲流复制Java文件:

package demo04;import java.io.*;/*
字符缓冲流复制java文件*/
public class Demo08BufferedCopy {public static void main(String[] args) throws IOException {BufferedReader br=new BufferedReader(new FileReader("Copy.java"));BufferedWriter bw=new BufferedWriter(new FileWriter("Copy3.java"));char [] ch=new char[1024];int by;while((by=br.read(ch))!=-1){bw.write(ch,0,by);}br.close();bw.close();}
}

字符缓冲流的两种特有方法:

package demo04;import java.io.*;/*
字符缓冲流的特有方法:
public String readLine​()throws IOException读一行文字。 一行被视为由换行符('\ n'),回车符('\ r')中的任意一个,紧跟换行符的回车符或通过到达文件末尾终止(EOF)。
public void newLine​()throws IOException写一行行分隔符。 行分隔符字符串由系统属性line.separator定义,并不一定是单个换行符('\ n')字符。*/
public class Demo09Buffered {public static void main(String[] args) throws IOException {//        BufferedWriter bw=new BufferedWriter(new FileWriter("bw.txt"));
//        bw.write("hello");
//        bw.newLine();
//        bw.write("world");
//        bw.newLine();
//        bw.close();BufferedReader br=new BufferedReader(new FileReader("bw.txt"));String s;while((s=br.readLine())!=null){System.out.println(s);}
}
}

字符缓冲流的特有方法来复制Java文件:

package demo04;import java.io.*;/*
字符缓冲流的特有方法复制java文件*/
public class Demo10BufferedCopy {public static void main(String[] args) throws IOException {BufferedReader br=new BufferedReader(new FileReader("Copy.java"));BufferedWriter bw=new BufferedWriter(new FileWriter("Copy4.java"));int by;while((by=br.read())!=-1){bw.write((char)by);}br.close();bw.close();}
}

IO流小结:
字节流:

字符流:

将集合中的内容添加到文本文件:

package demo04;import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;/*
把集合中的内容写到文本文件*/
public class Demo11ArrayToTxt {public static void main(String[] args) throws IOException {ArrayList<String> array=new ArrayList<>();array.add("ma");array.add("shang");array.add("fa");BufferedWriter bw=new BufferedWriter(new FileWriter("array.txt"));for(String s:array){bw.write(s);bw.newLine();bw.flush();}bw.close();}
}

从文本文件到集合:

package demo04;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InvalidObjectException;
import java.util.ArrayList;/*
从文件到集合*/
public class Demo12TxtToArray {public static void main(String[] args) throws IOException {BufferedReader br=new BufferedReader(new FileReader("array.txt"));ArrayList<String> arr=new ArrayList<>();String s;while((s=br.readLine())!=null){arr.add(s);}br.close();for(String i:arr){System.out.println(i);}}
}

随机点名器:

package demo04;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;/*
随机点名*/
public class Demo13Name {public static void main(String[] args) throws IOException {BufferedReader br=new BufferedReader(new FileReader("bw.txt"));ArrayList<String> arr=new ArrayList<>();String s;while((s=br.readLine())!=null){arr.add(s);}br.close();Random r=new Random();int index = r.nextInt(arr.size());System.out.println("幸运儿是"+arr.get(index));}
}

将储存学生对象的集合添加到文本文件:

package demo04;import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;/*
学生对象集合到文本文件*/
public class Demo14ArrayToTxt {public static void main(String[] args) throws IOException {BufferedWriter bw=new BufferedWriter(new FileWriter("bw.txt"));ArrayList<Student> arr=new ArrayList<>();Student s1=new Student("文才","004",54,"汕头");Student s2=new Student("秋生","005",34,"湛江");Student s3=new Student("九叔","001",50,"河源");arr.add(s1);arr.add(s2);arr.add(s3);for(Student s:arr){StringBuilder sb=new StringBuilder();sb.append(s.getNumber()).append(",").append(s.getName()).append(",").append(s.getAge()).append(",").append(s.getAddress());bw.write(sb.toString());bw.newLine();}bw.close();}
}

从文本文件到学生对象集合:

package demo04;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;/*
文本文件到学生对象集合*/
public class Demo15TxtToArray {public static void main(String[] args) throws IOException {BufferedReader br=new BufferedReader(new FileReader("bw.txt"));ArrayList<Student> arr=new ArrayList<>();String s;while((s=br.readLine())!=null){String[] ss = s.split(",");Student stu=new Student();//004,文才,54,汕头stu.setNumber(ss[0]);stu.setName(ss[1]);stu.setAge(Integer.parseInt(ss[2]));stu.setAddress(ss[3]);arr.add(stu);}for(Student stu:arr){System.out.println(stu.getAddress()+stu.getName()+stu.getAge()+"编号"+stu.getNumber());}}
}
/*
汕头文才54编号004
湛江秋生34编号005
河源九叔50编号001*/

TreeSet存储学生对象到文本文件:

package demo04;import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;/*
有序存储学生对象集合到文本文件*/
public class Demo16TreeSet {public static void main(String[] args) throws IOException {TreeSet<Score> ts=new TreeSet<>(new Comparator<Score>() {@Overridepublic int compare(Score s1, Score s2) {int sum1=s2.getSum()-s1.getSum();int sum2=sum1==0?s2.getChinese()-s1.getChinese():sum1;int sum3 = sum2 == 0 ? s2.getMath() - s1.getMath() : sum2;int sum4=sum3==0?s2.getName().compareTo(s1.getName()):sum3;return sum4;}});//键盘输入for(int i=0;i<3;i++){Scanner sc=new Scanner(System.in);System.out.println("请输入第"+(i+1)+"个学生的名字");String name=sc.nextLine();System.out.println("请输入数学成绩");int math=sc.nextInt();System.out.println("请输入语文成绩");int chinese=sc.nextInt();System.out.println("请输入英语成绩");int english=sc.nextInt();Score sco=new Score();sco.setName(name);sco.setChinese(chinese);sco.setMath(math);sco.setEnglish(english);ts.add(sco);}BufferedWriter bw=new BufferedWriter(new FileWriter("ts.txt"));for(Score s:ts){StringBuilder sb=new StringBuilder();sb.append(s.getName()).append(",").append(s.getChinese()).append(",").append(s.getMath()).append(",").append(s.getEnglish()).append(",").append(s.getSum());String ss = sb.toString();bw.write(ss);bw.newLine();}bw.close();}
}

复制单级文件夹
所谓单级文件夹,就是文件夹里只有文件,没有文件夹

package demo04;import java.io.*;/*
复制单级文件夹*/
public class Demo17CopyFold {public static void main(String[] args) throws IOException {File file=new File("E:\\zx");String filename = file.getName();File copyfile=new File(filename);if(!copyfile.exists()){copyfile.mkdir();}File[] files = file.listFiles();for(File f:files){String name = f.getName();File copywj=new File(copyfile,name);copyFile(f,copywj);}}private static void copyFile(File f, File copywj) throws IOException {BufferedInputStream bis=new BufferedInputStream(new FileInputStream(f));BufferedOutputStream bos =new BufferedOutputStream(new FileOutputStream(copywj));byte[]bys=new byte[1024];int len;while((len=bis.read(bys))!=-1){bos.write(bys,0,len);}bis.close();bos.close();}
}

复制多级文件夹:

package demo04;import java.io.*;/*
复制多级文件
思路:
1、获取两个路径
2.递归方法判断文件夹下面是否还有文件夹2.1 有文件夹,递归2.2 无文件夹,复制操作*/
public class Demo18CopyFolder {public static void main(String[] args) throws IOException {File yfolder=new File("E:\\work");File nfolder =new File("D:\\");copyFile(yfolder,nfolder);}private static void copyFile(File yfolder, File nfolder) throws IOException {if(yfolder.isDirectory()){String filename = yfolder.getName();File newfile=new File(nfolder,filename);//创建f盘的workif(!newfile.exists()){newfile.mkdir();}File[] yfiles = yfolder.listFiles();for(File f:yfiles){copyFile(f,newfile);}}else{File newfile=new File(nfolder,yfolder.getName());writeFile(yfolder,newfile);}}private static void writeFile(File yuan,File xin) throws IOException {BufferedInputStream bis=new BufferedInputStream(new FileInputStream(yuan));BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(xin));byte[]ch=new byte[1024];int bys;while((bys=bis.read(ch))!=-1){bos.write(ch,0,bys);}bis.close();bos.close();}
}

复制的异常处理:

package demo04;import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;public class Demo19Exception {public static void main(String[] args) {method();}//jdk7改进public static void method(){try(FileReader fr=new FileReader("bw.txt");FileWriter fw=new FileWriter("fw.txt");){char []ch=new char[1024];int len;while((len=fr.read(ch))!=-1){fw.write(ch);}}catch (IOException e){e.printStackTrace();}}
}

标准输入流:

package demo05;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;/*
标准输入流*/
public class Demo01 {public static void main(String[] args) throws IOException {//标准输入流——转换流(用于输入汉字)到字符流--字符缓冲输入流BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入字符串");String s = br.readLine();System.out.println("输入的字符串是"+s);//等同于Scanner sc=new Scanner(System.in);}
}

标准输出流:

package demo05;import java.io.PrintStream;
import java.sql.SQLOutput;/*
标准输出流*/
public class Demo02SystemOut {public static void main(String[] args) {PrintStream ps=System.out;ps.println("DJ Sally");ps.print("李莎丽");//System.out.println();的本质是标准输出流}
}

字节打印流写数据:

package demo05;import java.io.IOException;
import java.io.PrintStream;/*
字节打印流写数据
PrintStream​(String fileName) 使用指定的文件名创建新的打印流,无需自动换行。*/
public class Demo03Write {public static void main(String[] args) throws IOException {PrintStream ps=new PrintStream("ps.txt");ps.println(13);ps.println(14);//释放资源ps.close();}
}

字符打印流:

package demo05;import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;/*
字符打印流
1.PrintWriter​(String fileName) 使用指定的文件名创建一个新的PrintWriter,而不需要自动执行行刷新。
2.public PrintWriter​(Writer out,boolean autoFlush)创建一个新的PrintWriter。
参数
out - 字符输出流
autoFlush - 一个布尔值 如果为真,则println , printf ,或format方法将刷新输出缓冲区*/
public class Demo04PrintWrite {public static void main(String[] args) throws IOException {//        PrintWriter pw=new PrintWriter("pw.txt");
//        pw.println("hello");
//        pw.flush();//不用flush的方法PrintWriter pw=new PrintWriter(new FileWriter("pw.txt"),true);pw.println("gechang");pw.println("beijing");}
}

打印流改进版的Java文件复制:

package demo05;import java.io.*;/*
打印流改进版的Java文件复制*/
public class Demo05Copy {public static void main(String[] args) throws IOException {BufferedReader br=new BufferedReader(new FileReader("Copy.java"));PrintWriter pw=new PrintWriter(new FileWriter("Copy5.java"),true);String s;while((s=br.readLine())!=null){pw.println(s);}br.close();pw.close();}
}

对象序列化流:

package demo05;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;/*
序列化:
把对象保存在文件中或者在网络中传输
ObjectOutputStream将Java对象的原始数据类型和图形写入OutputStream。 可以使用ObjectInputStream读取(重构)对象。
可以通过使用流的文件来实现对象的持久存储。 如果流是网络套接字流,则可以在另一个主机上或另一个进程中重构对象。
构造方法:ObjectOutputStream​(OutputStream out) 创建一个写入指定的OutputStream的ObjectOutputStream。writeObject​(Object obj) 将指定的对象写入ObjectOutputStream。NotSerializableException:抛出一个实例需要一个Serializable接口。 序列化运行时或实例的类可能会抛出此异常。 参数应该是类的名称*/
public class Demo06ObjectOutputStream {public static void main(String[] args) throws IOException {ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("oos.txt"));Student stu=new Student("王英鹏",67);oos.writeObject(stu);oos.close();}
}

反序列化:

package demo05;import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;/*
反序列流:
构造方法: ObjectInputStream​(InputStream in) 创建从指定的InputStream读取的ObjectInputStream。
读取方法:readObject​() 从ObjectInputStream读取一个对象。*/
public class Demo07ObjectInputStream {public static void main(String[] args) throws IOException, ClassNotFoundException {ObjectInputStream ois=new ObjectInputStream(new FileInputStream("oos.txt"));Object obj = ois.readObject();Student stu=(Student) obj;System.out.println(stu.getAge()+stu.getName()+"教英语");ois.close();}
}
//67王英鹏教英语

serialVersionUID和transient

package demo05;import java.io.*;/*
修改类文件的后果:
InvalidClassException: demo05.Student;
local class incompatible: stream classdesc serialVersionUID = 2953330128974159843,
local class serialVersionUID = 6973033136457132306
当序列化运行时检测到类中的以下问题之一时抛出。类的串行版本与从流中读取的类描述符的类型不匹配该类包含未知的数据类型该类没有可访问的无参数构造函数
解决方法:
一个可序列化的类可以通过声明一个名为"serialVersionUID"的字段来显式地声明它自己的serialVersionUID,该字段必须是static,final和long类型:ANY-ACCESS-MODIFIER static final long serialVersionUID = 42L;不想让变量序列化:private transient int  age;*/
public class Demo08Tips {public static void main(String[] args) throws IOException, ClassNotFoundException {//write();read();}public static void write()throws IOException {ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("oos.txt"));Student stu=new Student("秦海地",46);oos.writeObject(stu);oos.close();}public static void read() throws IOException, ClassNotFoundException {ObjectInputStream ois=new ObjectInputStream(new FileInputStream("oos.txt"));Object obj = ois.readObject();Student stu=(Student) obj;System.out.println(stu.getName()+","+stu.getAge());ois.close();}
}
package demo05;import java.io.NotSerializableException;
import java.io.Serializable;public class Student implements Serializable {private static final long serialVersionUID = 42L;private String name;private transient int  age;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}
}

Properties实现Map功能:

package demo05;import java.util.Properties;
import java.util.Set;/*
Properties实现Map的功能*/
public class Demo09Properties {public static void main(String[] args) {Properties pro=new Properties();pro.put("66336","钟立文");pro.put("66329","李柏翘");pro.put("66303","鲁嘎哒");Set<Object> keyset = pro.keySet();for(Object key:keyset){Object o = pro.get(key);System.out.println(o+","+key);}}
}

Properties的三种特有方法:

package demo05;import java.util.Properties;
import java.util.Set;/*
Properties的特有方法
setProperty​(String key, String value) 调用 Hashtable方法 put 。getProperty​(String key) 使用此属性列表中指定的键搜索属性。stringPropertyNames​() 从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串,包括默认属性列表中的不同键,如果尚未从主属性列表中找到相同名称的键。*/
public class Demo10Properties {public static void main(String[] args) {Properties pro=new Properties();pro.setProperty("001","喜羊羊");pro.setProperty("002","美羊羊");pro.setProperty("003","废羊羊");//pro.getProperty("001");Set<String> names = pro.stringPropertyNames();for(String n:names){String value = pro.getProperty(n);System.out.println(value+","+n);}}
}

Properties和IO流相结合:

package demo05;import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;/*
Properties和IO流相结合
load​(Reader reader) 以简单的线性格式从输入字符流读取属性列表(关键字和元素对)。store​(Writer writer, String comments) 将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式输出到输出字符流。这里的comments是字符串描述信息*/
public class Demo11Properties {public static void main(String[] args) throws IOException {myWrite();myLoad();}private static void myLoad() throws IOException{Properties pro=new Properties();FileReader fr=new FileReader("abc.txt");pro.load(fr);fr.close();System.out.println(pro);}private static void myWrite() throws IOException {Properties pro=new Properties();FileWriter fw=new FileWriter("abc.txt");pro.setProperty("001","阿奇");pro.setProperty("002","毛毛");pro.setProperty("003","灰灰");pro.store(fw,null);fw.close();}
}

练习:游戏次数

【java笔记】字符流,Properties,序列化,打印流相关推荐

  1. 【Java10】lambda表达式(函数式编程),Stream流,File类,字节/字符流,乱码,缓冲/转换/序列化/打印流,Properties

    文章目录 1.lambda表达式标准语法:()->{} 2.lambda表达式简略语法:可推导即可省略 3.lambda表达式原理:lambda效率比匿名内部类高 4.两个函数式接口:Consu ...

  2. (十二)Core Java IO流(Properties,序列化,管道流,字符编码)-03 (108)

     目录 :             41 ). IO流(创建java文件列表) 42 ). IO流(Properties简述) 43 ). IO流(Properties存取) 44 ). IO流(Pr ...

  3. IO流(五)__文件的递归、Properties、打印流PrintStream与PrintWriter、序列流SequenceInputStream...

    一.文件的遍历 1.需求:对指定目录进行所有的内容的列出(包含子目录的内容)-文件的深度遍历 思想:递归的思想,在递归的时候要记住递归的层次. public class FileTest {publi ...

  4. 【Java笔记】File类与IO流(另添加NIO2使用)

    文章目录 本章专题与脉络 java.io.File类的使用 概述 构造器 常用方法 获取文件和目录基本信息 列出目录的下一级 File类的重命名功能 判断功能的方法 创建.删除功能 NIO2的使用 P ...

  5. java 网络通讯用什么流_Java中打印流,网络通信协议,TCP通信的基础介绍

    1-1.打印流 java.io.PrintStream:打印流 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式. PrintStream特点: 1).只负责数据 ...

  6. Java19-day10【标准输入输出流、字节字符打印流、对象序列化-反序列化流、serialVersionUIDtransient、Properties】

    视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...

  7. Java基础(28)数据输入输出流、内存操作流、打印流、随机访问流、序列化与反序列化流、Properties类(集合)

    1. 数据输入输出流 1. 数据输入输出流的概述: (1)以Stream结尾的,一般都是字节流 (2)数据输入流(DataInputStream):数据输入流允许应用程序以与机器无关方式从底层输入流中 ...

  8. JavaSE(字符流、IO资源的处理、属性集、ResourceBundle工具类、缓冲流、转换流、序列化、打印流、装饰设计模式、commons-io工具包)

    JavaSE 字符流 字符输入流[Reader] 字符输入流Reader类的概述 字符输入流Reader类的常用方法 FileReader类 FileReader类的概述 FileReader类的构造 ...

  9. 【02】Java进阶:13-IO资源的处理、属性集、缓冲流、转换流、序列化、打印流、装饰设计模式、commons-io工具包

    day13[Properties类.缓冲流.转换流.序列化流.装饰者模式.commons-io工具包] 今日内容 IO异常处理 Properties类 缓冲流 转换流 序列化\反序列化流 打印流 装饰 ...

  10. 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称

    文章目录 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称 ...

最新文章

  1. Springlake-01 介绍功能安装
  2. 为什么使用HashMap需要重写hashcode和equals方法_为什么要重写hashcode和equals方法?你能说清楚了吗...
  3. STC89C52 STC89LE52 NRF24L01无线 教程 (二)
  4. (2) freemarker入门案例2
  5. Codeblocks无法输出中文和中文乱码解决方法(亲测可用)
  6. jaxb报错_JAXB做错了; 尝试Xembly
  7. BT5 R1不能启动ibus输入法解决方案
  8. GaussDB(DWS)发生数据倾斜不要慌,一文教你轻松获取表倾斜率
  9. 【目标检测】单阶段算法--YOLOv4详解
  10. 以图搜图:Python实现dHash算法
  11. 第18次Scrum会议(10/30)【欢迎来怼】
  12. 思迈特软件Smartbi:最常用的五种大数据分析方法,建议收藏!
  13. 逻辑回归、LR算法、LR优缺点、LR推导、LR损失函数
  14. 教务管理系统 php源码,优索教务管理系统 v9.3.2
  15. iOS调用高德地图SDK
  16. iPhone手机开发
  17. Web前端是什么?Web前端包括哪些技术?
  18. DaoCloud道客:云原生多云应用利器–Karmada总览篇
  19. GCC编译器和CC编译器的区别
  20. 椭圆曲线加密与NSA后门考古

热门文章

  1. Java多线程 - Runnable接口和Callable接口的区别
  2. html文标题党,「深度好文」教你如何成为一个合格的标题党
  3. JMeter对接口进行压力测试
  4. 2017云栖大会参会感想
  5. 物流设计大赛优秀作品_第四届广东省大学生物流设计大赛之五邑大学校园选拔赛通知...
  6. Python语言中的注释方法应用
  7. 克罗地亚3-1战胜苏格兰晋级淘汰赛 当贝投影F3陪你畅爽观赛
  8. Excel中VLOOKUP函数的详细用法(灰常有用,求加精!求加精!)
  9. RTKLIB中RTK定位原理(一)
  10. 找不到该项目,请确认该项目的位置