版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 输入/输出 IOIO(输入/输出)是所有程序都必需的部分:使用输入机制,允许程序读取外部数据(包括来自磁盘、光盘等存储设备的数据)、用户输入数据;使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘、光盘等存储设备中。java的IO支持通过java.io包下的类和接口来支持,在java.io包下主要包括输入、输出两种IO流。输入、输出:字节流和字符流。字节流以字节为单位来处理输入、输出操作。字符流以字符来处理输入输出操作。一、File类File类是java.io包下代表与平台无关的文件和目录,也就是说如果希望在程序中操作文件和目录都可以通过File类来完成,值得指出的是不管是文件、
2、还是目录都使用File来操作,File能新建、删除和重命名文件和目录。File不能访问文件内容本身,如需访问内容本身则需通过IO流实现。1.1.1 访问文件和目录File类可能使用文件路径字符串来创建File实例,该文件路径字符串既可以是绝对路径,也可以是相对路径。访问文件名相关方法: String getName() : 返回此File对象的所表示的文件名或路径名(如果是路径的话,返回最后一级子路径名)。 String getPath() : 返回此File对象所对应的路径名。 File getAbsoluteFile() : 返回此File对象所指的绝对路径所对应的File对象 Strin
3、g getAbsolutePath() : 返回此File对象所对应的绝对路径名 String getParent() : 返回此File对象对应目录(最后一级子目录)的父目录名。 Boolean renameTo(File newName) : 重命名此File对象对应的文件或目录,如果重命名成功则返回true ; 否则返回false检测文件相关的方法: Boolean exists() : 判断File对象对应的文件或目录是否存在。 Boolean canWrite() : 判断File对象对应的文件和目录是否可读。 Boolean canRead() : 判断File对象对应的文件和目录
4、是否可写。 Boolean isFile() : 判断File对象所对应的否是文件、不是目录。获取常规文件信息: long lastModified() : 返回文件的最后修改时间。 long length() : 返回文件内容和长度。文件操作相关方法: Boolean createNewFile() : 当此File对象所对应的文件不存在时,该方法将新建一个该File对象所指定的新文件,创建成功返回true,否则返回false. Boolean delete() : 删除File对象所对应的文件或路径。 static File createTempFile(String prefix,Str
5、ing suffix) : 使用给定的前缀、系统生成的随机数和给定后缀作为文件名。prefix参数至少是三个字节。直接使用File类来调用 static File createTempFile(String prefix,String suffix,File directory) : 在指定File对象的目录使用给定的前缀、系统生成的随机数和给定后缀作为文件名。prefix参数至少是三个字节。直接使用File类来调用 void deleteOnExit() : 当JVM退出时,删除File对象所对应的文件和目录。目录操作的相关方法: Boolean mkdir() : 试图创建一个File对象
6、所对应的目录,如果创建成功,则返回true,否则返回false。调用方法时的File对象必须对应的是一个路径,而不是一个文件。 String list() : 列出File对象的所有子文件名和路径名,返回String数组。 File listFiles() : 列出File对象的所有子文件和路径,返回File数组。 static File listRoot() : 列出系统所有的根路径,返回File数组。操作示例:public class BaseFile public static void main(String args) throws IOException /以当前路径创建一个Fil
7、e对象File file = new File(.); /获取File对象的文件名System.out.println(file.getName();/获取相对路径的父路径,可能出错,输出nullSystem.out.println(file.getParent();/获取绝对路径System.out.println(file.getAbsolutePath();/获取上一级路径System.out.println(file.getAbsoluteFile().getParent();/在当前路径下创建临时文件File tempFile = File.createTempFile(aaa, .
8、txt,file);/文件名由指定的前缀+系统随机数+文件后缀(存在指定file路径)System.out.println(临时文件名:+tempFile.getName();/程序退出时删掉该文件(JVM停止运行时)tempFile.deleteOnExit();/使用当前系统时间创建文件File newFile = new File(System.currentTimeMillis()+);System.out.println(newFile对象是否存在:+newFile.exists();/以指定的newFile对象来创建一个文件。newFile.createNewFile();/以ne
9、wFile对象来创建一个目录,因为newFile已经存在,/所以下面方法返回false,即无法创建该目录;newFile.mkdir();/使用list方法来列出当前路径下的所有文件和路径String fileList = file.list();System.out.println(n=当前路径下所有的文件和路径如下=);for(String f : fileList)System.out.println(f);/静态方法列出所有磁盘根路径File roots = File.listRoots();System.out.println(n=系统所有根路径如下=);for(File r : r
10、oots)System.out.println(r);二、理解Java的IO流Java的IO流是实现输入/输出的基础,它可以方便实现数据的输入/输出操作,Java中把不同输入/输出源(键盘、文件、网络连接等)抽象的表述为“流”(stream),通过流的方式允许java程序使用相同方式来访问不同的输入/输出源。Java把所有传统的类型流(类或抽象类)都放在java.io包中,用以实现输入/输出功能。1.2.1 流的分类输入流和输出流按着流的流向来分,可以分为输入流和输出流。l 输入流:只能从中读取数据,不能向其写出数据。硬盘 内存l 输出流:只能向其写出数据,不能从中读取数据。内存 硬盘此处的输
11、入、输出涉及到一个方向的问题,数据从内存到硬盘,通常我么称为输出流 也就是说,这里的输入,输出都是从程序运行所在的内存的角度来划分的。java的输入流主要由InputStream和Reader作为基类,而输出流主要由OutputStream和Writer作为基类。三、字节流和字符流字节流和字符流区别非常简单,它们的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同,字节流操作的是字节,字符流操作的是字符。字节流主要由InputStream和OutputStream作为基类,而字符流则主要由Reader和Writer作为基类。1.3.1 InputStream和ReaderInputS
12、tream和Reader是所有输入流的基类,它们都是两个抽象类,本身并不能创建实例来执行输入,但它们将成为所有输入流的模板,所以它们的方法是所有输入流都可以使用的方法。在InputStream里包含如下三个方法:l int read():从输入流中读取单个字节,返回所读取的字节数据(可直接转换为int类型)。l int read(byteb):从输入流中读取最多b.length个字节数据,并将其存储在字节数组b中,返回实际读取的字节数。l int read(byteb,int off,int len):从输入流中读取最多len个字节数据,并将其存储在字节数组b中,放入b数组中时,并不是从数组的
13、起点开始,而是从off位置开始,返回实际读取的字节数。/* * 文件输入流测试代码 * author ZhaoJing */public class FileInputStreamTest public static void main(String args)FileInputStream fis = null;try /创建输入流 用于读取当前文件fis = new FileInputStream(srcioFileInputStreamTest.java);/使用字节数组进行读取 每次读取1024个字节byte buf = new byte1024;/实际读取长度int hasRead
14、= 0;/循环进行读取while(hasRead = fis.read(buf)0)/每次将读取出的字节数组输出到控制台System.out.println(new String(buf,0,hasRead); catch (IOException e) e.printStackTrace();finallytry fis.close(); /关闭输入流 catch (IOException e) e.printStackTrace();在Reader里包含如下三个方法:l int read():从输入流中读取单个字符,返回所读取的字符数据(可直接转换为int类型)。l int read(ch
15、ar cbuf):从输入流中读取最多cbuf.length个字符数据,并将其存储在字符数组cbuf中,返回实际读取的字符数。l int read(char cbuf,int off,int len):从输入流中读取最多len个字符数据,并将其存储在字符数组cbuf中,放入cbuf数组中时,并不是从数组的起点开始,而是从off位置开始,返回实际读取的字符数。/* * 使用字符流读取文件并输出 * author ZhaoJing */public class FileReaderTest public static void main(String args) FileReader reader
16、= null;try /创建字符输入流reader = new FileReader(srcioFileReaderTest.java);/创建一个长度为32的字符数组char cs= new char100;/实际读取字符数int hasRead = 0 ;while(hasRead = reader.read(cs)0)/循环输出该次读取出的字符System.out.println(new String(cs,0,hasRead); catch (IOException e) e.printStackTrace();finallytry reader.close(); /关闭输入流 cat
17、ch (IOException e) e.printStackTrace();1.3.2 OutputStream和writerOutputStream和writer也非常相似,两个流都提供一下三个方法:l void write(int c):将指定的字节/字符输出到输出流中,其中c既可以代表字节,也可以代表字符。l void write(byte/charbuf):将字节数组/字符数组中的数据输出到指定输出流中。l void write(byte/charbuf,int off ,int len):将字节数组/字符数组中从off位置开始,长度为len字节/字符输出到输出流中。/* * 文件输
18、出字节流测试 * author ZhaoJing */public class FileOutputStreamTest public static void main(String args) FileInputStream input = null; FileOutputStream output = null;try /创建文字输入流input = new FileInputStream(srcioFileOutputStreamTest.java);/创建文字输出流到指定的output = new FileOutputStream(srcioNewFile.java);/定义字节数组b
19、yte ibs = new byte1024;/记录实际读取/写入长度int hasRead = 0;while (hasRead = input.read(ibs) 0) /循环从输入流中读取/每读取一次就通过输出流进行输出output.write(ibs, 0, hasRead); catch (IOException e) e.printStackTrace(); finally /关闭流可以保证系统对物理资源进行回收try if (input != null) /关闭输入流input.close();if (output != null) /关闭输出流output.close(); c
20、atch (IOException e) e.printStackTrace();因为字符直接以字符作为操作单位,所以Writer可以用字符串来代替字符数组,即以String对象作为参数。Writer里还包含如下两个方法:l void write(String str):将str字符串里字符输出到指定输出流中。l void write(String str,int off ,int len):将str字符串里从off位置开始,长度为len的字符输出到指定输出流中。/* * 使用字符输出流 * author ZhaoJing * */public class FileWriterTest pub
21、lic static void main(String args) FileWriter writer = null;try /创建字符输出流输出到指定文本writer = new FileWriter(poem.txt);/直接调用write方法输出字符串writer.write(再别康桥nn);writer.write(轻轻的我走了n);writer.write(正如我轻轻的来n); catch (IOException e) e.printStackTrace();finallytry writer.close(); catch (IOException e) e.printStackT
22、race();补充:处理流的用法:处理流主要隐藏底层设备上节点流的差异,并对外提供更加方便的输入/输出方式。实际上,我们我识别处理流非常简单,只要流的构造器参数不是一个物理节点,而是已经存在的流,那么这种流就一定是处理流:而所有节点流都是直接以物理IO节点作为构造器参数的。下面程序使用PrintStream处理流来包装OutputStream,使用处理流后的输出流在输出时将更加方便。/* * 使用PrintStream处理流 * author ZhaoJing */public class PrintStreamTest public static void main(String args)
23、 PrintStream ps = null;try /创建文字输出处理流(传入普通文件输出节点流对象)ps = new PrintStream(new FileOutputStream(test.txt);ps.println(普通字符串n);/使用println(str);进行输出/System.out.println();实际上就是一个处理流 catch (FileNotFoundException e) e.printStackTrace();finallyps.close();一般情况下:如果需要进行输入/输出的内容是文本内容,则应该考虑使用字符流,如果需要进行输入/输出的是二进制内
24、容,则应该考虑使用字节流。四、对象序列化对象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象,对象序列化机制允许把内存中的java对象转换成平台无关的二进制流,从而允许把这种二进制流磁盘上,通过网络将这种二进制流传输到另一个网络节点。其他程序一旦获得了这种二进制流(无论是从磁盘还是网络中获取),都可以将这种二进制流恢复成原来的java对象。1.4.1序列化的含义和意义序列化机制允许将实现序列化的java对象转换为字节序列使其可以保存在磁盘上或通过网络传输,以备以后重新恢复成原来的对象。对象序列化(Serialize)指将一个java对象写入IO流中,与此对应的是,对象的反序列化(D
25、eserialize)则指从IO流中恢复该java对象。如果需要让某个对象可以支持序列化机制,必须让它的类是可序列化的(serializable),可以让该类实现接口 Serializable所有可能在网络上传输的对象的类都应该是可序列化的,否则程序将会出现异常。远程方法调用(JAVAEE基础)过程中的参数和返回值;所有需要保存到磁盘里的对象的类都必须可序列化。比如Web应用中需要保存到HttpSession或ServletContext中的对象。1.4.2 使用对象流实现序列化一旦某个类实现了Serializable接口,则该类的对象就是可序列化的,程序就可以通过以下形式来序列化该对象:/*
26、 * 将对象序列化后写入磁盘 * author ZhaoJing */public class WriteObject public static void main(String args) ObjectOutputStream oos = null;try /创建对象输出处理流oos = new ObjectOutputStream(new FileOutputStream(Person.txt);/创建需要序列化的对象Person p = new Person(孙悟空,500);/写入到文件oos.writeObject(p); catch (FileNotFoundException
27、e) e.printStackTrace(); catch (IOException e) e.printStackTrace();finallytry oos.close(); catch (IOException e) e.printStackTrace();通过输入流反序列化对象:/* * 使用文件流反序列化出对象 * author ZhaoJing */public class ReadObject public static void main(String args) ObjectInputStream ois = null;try /创建对象输入处理流ois = new Obje
28、ctInputStream(new FileInputStream(Person.txt);/读取对象Person p = (Person)ois.readObject();/输出对象属性值System.out.println(p.getName()+t+p.getAge(); catch (FileNotFoundException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace();finallytry
29、ois.close(); catch (IOException e) e.printStackTrace();当我们反序列化读取java对象时,并没有看到程序调用该构造器,这表明反序列化机制无须通过构造器来初始化java对象。如果一个可序列化类有多个父类(包括直接或间接),则该类所有父类都必需可序列化或提供无参的构造器。所以反序列化子类时,恢复父类实例有两种方法:(1) 使用反序列化机制(2) 使用父类无参构造器反序列化机制优先采用第一种方法,如果父类不可序列化时,则不能使用第一种机制;而又没有无参构造方法时则会抛出异常。1.4.3 对象引用的序列化如果一个类中引用了另一个类的对象作为属性,那
30、么该对象所属的类(被引用类)则必需同样实现可序列化。否则无法序列化本身类的对象。为了保证对象反序列化之后相同的引用,java序列化机制采用了一种特殊的序列化算法,其内容是: 所以保存到磁盘中的对象都有一个可序列化编号 当程序试图序列化一个对象时,程序将先检查该对象是否已经被序列化过,只有当该对象从未在本次虚拟机中被序列化时,系统才会将其序列化。 如果该对象已经被序列化过,那么程序就只会引用该对象序列化过后的编号,而并不会再次重新序列化。/* * 使用对象读取流反序列化对象 * author ZhaoJing */public class ReaderTeacher public static
31、void main(String args) ObjectInputStream ois = null;try ois = new ObjectInputStream(new FileInputStream(teacher.txt);Teacher t1 = (Teacher)ois.readObject();Teacher t2 = (Teacher)ois.readObject();Person p = (Person)ois.readObject();Teacher t3 = (Teacher)ois.readObject();System.out.println(t1的student是
32、否和p是同一个对象 : +t1.getStudent().equals(p);System.out.println(t2的student是否和p是同一个对象 : +t2.getStudent().equals(p);System.out.println(t2和t3是否是同一个对象 : +t2.equals(t3); catch (Exception e) e.printStackTrace();finallytry ois.close(); catch (IOException e) e.printStackTrace();如果该对象已被序列化对象属性值再次发生改变后,重新序列化时,已发生改变
33、的值并不会被序列化。因为对象一旦序列化,其后发生改变的任何值都无法再保存到序列的文件中。如果类的某些属性是敏感信息,如银行账户信息等,可以通过在属性前加上transient关键字将其修饰,则代表程序序列化对象时无需理会该属性,因此该属性的值就无法序列化到字节文件中。(注:transient只能修饰属性,不可修饰java程序中其他部分)薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃
34、袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆
35、薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀
36、袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇
37、蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂
38、蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆
39、螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀
40、薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅
41、袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿
42、蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆
43、葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀
44、螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄
45、薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿
46、螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃
47、蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇
48、葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁
49、螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈
50、薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁 荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄
51、芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂
52、腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿
53、膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇
54、肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 张湾区人民医院2026年度公开招聘专业技术人员备考题库完整参考答案详解
- 2025年重庆大学实验室及设备管理处劳务派遣工作人员招聘备考题库及一套答案详解
- 2025年梧州市龙投人力资源有限公司招聘备考题库带答案详解
- 高中生对机器人辅助物理实验的参与度研究课题报告教学研究课题报告
- 2025年昆明市盘龙区汇承中学招聘教师备考题库完整参考答案详解
- 2025年北京市朝阳区三环肿瘤医院招聘21人备考题库完整答案详解
- 2025年关于为山东省人民检察院公开招聘聘用制书记员的备考题库及答案详解参考
- 2025年西湖大学Vita编辑部招聘工作人员备考题库带答案详解
- 2025年云南开放大学第二批公开招聘人员备考题库有答案详解
- 2025年江苏盐城港控股集团有限公司招聘21人备考题库及完整答案详解一套
- 2026福建春季高考语文总复习:名篇名句默写(知识梳理+考点)原卷版
- 郑州市2025届高中毕业年级第一次质量预测数学试题及答案解析
- 学霸养成之第一性原理-2025-2026学年高二上学期学习方法指导班会
- 投资策略分析报告:波动趋势量化剥离策略
- 2025国家外汇管理局中央外汇业务中心社会在职人员招聘3人考试笔试备考题库及答案解析
- 景德镇市中医院护理疑难病例讨论组织与管理试题
- 中铁四局河沙合同范本
- 高职院校五育并举实施方案
- 美团代理加盟合同范本
- 预见性护理及早期风险识别
- 2025《药品管理法》培训试题及答案
评论
0/150
提交评论