黑马程序员技术交流社区

标题: 今天总结了下io流后期和面向界面gui的知识点 [打印本页]

作者: 韩冬    时间: 2013-7-1 14:16
标题: 今天总结了下io流后期和面向界面gui的知识点
大家可以根据下面的主要提纲来复习这些知识点,效果会蛮好的,不会漏掉知识点。

关于IO流部分
1.File 中的常用get方法
  |-- getName()获取文件名,或者是文件夹名
  |-- getAbsolutePath()获取的是绝对路径
  |-- getParent()获取父路径
  |-- getgetPath()获取路径
  
2.递归
  |-- 方法的运算方式,自己调用自己
  |-- 从前有个山,山里有个庙,庙里有个老和尚讲故事,讲的是,从前有个山......
  |-- 递归在我们的IO技术中的应用
  
3.管道流
  |-- 是字节流的子类
  |-- 管道流需要进行连接
  |-- 读取管道流和写出管道流分别用不同的线程去控制
  |-- 读取流会等待希写出管道流,不会引发线程死锁,不会抛出读取异常
  
4.打印流-- 只操作数据目的,不操作数据源
  |-- PrintStream  字节流
    |-- File对象
    |-- 字节输出流
    |-- 字符串
  |-- PrintWriter  字符流
    |-- File对象
    |-- 字节输出流
    |-- 字符串
    |-- 字符输出流
   
  |-- 使用打印流的自动刷新
    |-- 构造方法,ture
    |-- printf()  println()  format()
   
  |-- 在做JAVAEE开发时,服务端程序,将数据写回到客户端,用的就是PrintWriter
  |-- 这个流不需要你创建,已经建好了 Tomcat服务程序运行,直接拿这个对象用就OK了
  |-- PrintWriter out = response.getWriter();
      |-- out.print();
      
5. Properties
   |-- 键值对形式的配置文件,可以和反射结合,实现配置文件配什么类,运行什么类
   |-- load,和读取流关联,读取配置文件
   |-- store,和输出流管理,修改配置文件

6. 做一个限制运行的小程序和Properties结合使用,训练的是IO和Properties的结合使用
   功能描述:已经有一个了,当运行三次后,第四次不运行,提醒你给钱
   1. 程序首次运行的时候获取配置文件中的键值信息
  
   File f = new File("c:\\123.txt");
   if(!f.exists())
   f.createNewFile();
   Reader r = new FileReader(f);
   load(r)
   String s = getP("count")
   int i = In.parese(s);
   if(i>3){
   sop(交钱);
   
   }
   else{
   new SS().run()
   }
   
   class SS{
     void run(){}
   }
      获取不到,值是null。创建一个配置文件,值1
   2. 再次运行的时候,获取键了,对值++
   3. 对值进行判断 值是string
     if(value>3){
                提示你需要交钱购买
     }else{
                       调用程序运行方法
     }
   
   

GUI
1. Frame窗体
  |-- 构造方法(标题)
  |-- setBounds(x,y,width,height)
  |-- setVisible(true)
  |-- setLayout(null)取消了布局,所有其他组件必须定义位置和尺寸
  |-- add()添加组件
  |-- setMenuBar()为窗体添加菜单

2. Button
  |-- 构造方法(标题)
  |-- setBounds(x,y,width,height)

3. TextField  单行
  |-- 构造方法(标题)
  |-- setBounds(x,y,width,height)
  |-- String getText()获取文本框内的内容
  |-- void setText()设置文本框的内容
  
4. TextArea  多行,有滚动条
  |-- 构造方法(标题)
  |-- setBounds(x,y,width,height)
  |-- String getText()获取文本框内的内容
  |-- void setText()设置文本框的内容
  
5. Label 文本标签
  |-- 构造方法(标题)
  |-- setBounds(x,y,width,height)
  
6. Dialog 对话框
  |-- 构造方法(属于哪个窗体,标题,模式 true)
  |-- setVisible(true)
  
7. FileDialog
  |-- 构造方法(属于哪个窗体,标题,模式 save load)
  |-- setVisible(true)
  |-- String getDirectory()获取选中的目录
  |-- String getFile()获取选中的文件名
  
8. MenuBar
  |-- 添加到窗体中
    |-- Menu
    |-- 添加到MenuBar
      |-- MenuItem
      |-- 添加到Menu
  |-- 子菜单
    |-- 将Menu添加到Menu
   
9. 事件监听器
  |-- 窗体事件 WindowListener
             窗体.addWindowListener(new 窗体适配器(){
                  覆盖需要的方法
     });
  |-- 鼠标事件 MouseListener
    按钮.addMouseListener(new 鼠标适配器(){
                 覆盖需要的方法
    });
  |-- 键盘事件 KeyBordListener
  |-- 活动事件 ActionListener
  
10. 记事本写一遍


网络编程
1. UDP
  |-- 面向无连接
  |-- 非安全协议
  |-- 效率高
  |-- 传输限制大64K
  
2. TCP
  |-- 面向连接
  |-- 安全协议
  |-- 效率低
  |-- 传输大数据
  
3. UDP案例--多线程群聊,写一遍
  |-- 发送端
          |-- 建立DatagramSocket服务
          |-- 构造方法 DatagramSocket();
          |-- 封装数据包 DatagramPacket(字节数组,0,长度,发送目的IP,端口号)
          |-- DatagramSocket服务的方法 send(数据包)
          |-- 关闭资源
         
  |-- 接收端
    |-- 建立DatagramSocket服务
          |-- 构造方法 DatagramSocket(10000);
          |-- 定义字节数组,存储接收的数据
          |-- 将数组封装到数据包中DatagramPacket(数组,长度)
          |-- DatagramSocket服务的receive(数据包)
          |-- 获取数据
          |-- 关闭资源
         
4. TCP  案例 图片上传 写一遍
  |-- 客户端
    |-- 建立、Socket服务
    |-- 通过Socket建立IO流
    |-- 客户端想服务端发送消息, OutputStream out = s.getOutputStream
    |-- 客户端接收服务端发的消息 InputStream in = s.getInputStream
   
  |-- 服务端
    |-- 建立、ServerSocket服务
    |-- 获取客户端连接对象 Socket s = ss.accept()
    |-- 通过客户端对象获取IO流
    |-- 服务端想客户端发送消息, OutputStream out = s.getOutputStream
    |-- 服务端获取客户端消息  InputStream in = s.getInputStream
  |-- Socket对象 shutdownOutput 告诉服务端客户端没有数据了
  
5. TCP任务
   |-- 将现有的程序进行改造,变成一个服务器可以同时服务多个客户端的上传,利用多线程
  
  
  
作者: qmlovewhr    时间: 2013-7-1 14:22
真够全面的。
作者: 冷风.    时间: 2013-7-2 18:57
楼主是否可以加我 交流学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2