• 一、javaSE (二十二)登录注册IO版本案例、数据操作流、内存操作流、打印流、标准输入输出流、随机访问流、合并流、序列化流、Properties、NIO


    1:登录注册Io版本案例(掌握)

             要求,对着写一遍

             cn.itcast.pojo User

             cn.itcast.dao UserDao

             cn.itcast.dao.impl UserDaoImp1(实现我不管)

             cn.itcast.game GuessNumber

             cn.itcast.test UserTest

    2:数据操作流(操作基本类型数据的流)(理解)

             (1)可以操作基本类型的数据

             (2)流对象名称

                       DataInputStream

                       DataOutputStream

    3:内存操作流(理解)

             (1)有些时候我们操作完毕后,未必需要产生一个文件,就可以使用内存操作流

             (2)三种

                       A: ByteArrayInputStream, ByteArrayOutputStream

                       B: CharArrayReader, CharArrayWriter

                       C: StringReader, StringWriter

    4:打印流(掌握)

             (1)字节打印流,字符打印流

             (2)特点

                       A:只操作目的地,不操作数据源

                       B:可以操作任意类型的数据

                       C:如果启用了自动刷新,在调用 println()方法的时候,能够换行并刷新

                       D:可以直接操作文件

                                问题;哪些流可以直接操作文件呢?

                                看API,如果其构造方法能够同时接收Fi1e和String类型的参数,一般都是可以直接操作文件的

             (3)复制文本文件

                       BufferedReader br new BufferedReader(new FileReader("a.txt"));

                       PrintWriter pw= new PrintWriter(new Filewriter(b.txt ), true);

                       String 1ine=nu11;

                       while((line=br.readline())!=null){

                                pw.printin(line);

                       }

                       pw.close();

                       br.close();

    5:标准输入输出流(理解)

             (1) System类下面有这样的两个字段

                       in 标准输入流

                       out 标准输出流

             (2)三种键盘录入方式

                       A:main方法的axgs接收参数

                       B: Systerm.in通过 BufferedReader进行包装

                                BufferedReader br = new BufferedReader(new InputStreamReader(System. in));

                       C: Scanner

                                Scanner sc = new Scanner(System.in);

             (3)输出语句的原理和如何使用字符流输出数据

                       A:原理

                                System.out.println("helloworld");

                                PrintStream ps = System.out;

                                ps.println("helloworld");

                       B:把System.out用字符缓冲流包装一下使用

                                BufferedWriter bw= new BufferedWirter(new OutputStreamWriter(System.out));

    6:随机访问流(理解

             (1)可以按照文件指钍的位置写数据和读数据

             (2)案例

                       A:写数据

                       B:读数据

                       C:获取和改变文件指针的位置

    7:合并流(理解)

             (1)把多个输入流的数据写到一个输出流中。

             (2)构造方法

                       A: SequenceInputStream(InputStream s1, InputStream s2)

                       B: SequenceInputStream(Enumeration<? extends Inputstream> e)

    8:序列化流(理解)

             (1)可以把对象写入文本文件或者在网络中传输

             (2)如何实现序列化呢?

                       让被序列化的对象所属类实现序列化接口

                       该接口是一个标记接口。没有功能需要实现

             (3)注意问题

                       把数据写到文件后,在去修改类会产生一个问题。

                       如何解决该问题呢?

                       在类文件中,给出一个固定的序列化值

                       而且,这样也可以解决黄色警告线问题

             (4)面试题

                       仕么时候序列化?

                       如何实现序列化

                       什么是反序列化?

    9: Properties(理解)

             (1)是一个集合类,Hashtable的子类

             (2)特有功能

                       A: public Object setProperties(String key,String value)

                       B: public String getProperty(String key)

                       C: public Set<String> StringPropertyNames()

             (3)和IO流结合的方法

                       把键值对形式的文本文件内容加载到集合中

                       public void load(Reader reader);

                       pub1ic void 1oad(InputStream inStream);

                       把集合中的数据存储到文本文件中

                       public void store(Writer writer, String comments);

                       public void store(OutputStream out, String comments)

             (4)案例:

                       A:根据给定的文件判断是否有键为"1isi"的,如果有就其值为100

                       B:写一个程序实现控制猜数字小游戏程序不能玩超过5次

    10:NIO(了解)

             (1)JDK4出现的NIO,对以前的Io操作进行了优化,提供了效率。但是大部分我们看到的还是以前的IO

             (2)JDK7的NIO的使用

                       Path:路径

                       Paths:通过静态方法返回一个路径

                       Fi1es:提供了常见的功能

                                复制文本文件

                                把集合中的数据写到文本文供

  • 相关阅读:
    POJ3189 Steady Cow Assignment(二分图多重匹配)
    POJ2112 Optimal Milking(二分图多重匹配)
    POJ2289 Jamie's Contact Groups(二分图多重匹配)
    安装jhipster
    AngularJS版本下载
    业务平台技术架构一些注意事项
    反向数据库表
    近期需要关注的内容
    一些不太常见但很有用的java类
    文件复制
  • 原文地址:https://www.cnblogs.com/zhangchengbing/p/8286756.html
Copyright © 2020-2023  润新知