天空下的雨

用乐观的生活,品味非凡人生。 通用网址(手机):blog.sh96.cn

的存档

28

记录今天的生活,我的一天

早上7点闹钟响起,7点10分起床,洗漱,坐了小会儿。

7点半左右,走出房门,买了个早餐,直接带上办公12楼。

门还没开,今天见鬼了。8点左右,把电脑开启,做程序,互相交流,调试,发现本不是问题的问题,却想得一塌糊涂,一直到12点半。

中午吃的是工作餐,最后一个吃。没休息。上网到2点。

下午,继续干活。不知不觉干到4点半。和人说好的要失约,心寒。赶紧收拾东西,请好明天的假。回到住处,发现没带钥匙,寻找服务员帮忙开门(租的是招待所),碰到新来的说这个房间不能开,耽误了些时间。下午5点和同学吃饭,说501可以直接到星沙,照他的,走了一大段路,上了车,又没坐,真的又热又累,郁闷!~

晚上7点左右,来到长沙师范,见到了网友,和想像中的差不多,之后到特立公园走了走,聊了聊,很简单。8点左右,乘车回到学校,哇~!今晚校门口灯光闪闪,放着烟花,人也特多,很久没有看到这样的情景了。

到超市买了些东西,进入住所,打开房门,依然还是家具的味道。一个人,仿佛有种凄凉的感觉涌入脑中。宁静之后,冲了澡,把电脑架起,插上网线,仿佛自己已被网住。

我的一天,就这样的结束了。笑吧,让一切都随风而去,对着云彩微笑。

25

今天解决了困扰很久的JAVA数据库乱码问题

现在把它分享出来吧,

第一步:进入安装Tomcat文件夹 >> conf 目录>> 找到 server.xml

修改server.xml配置文件,在Server标签中加入URIEncoding="UTF-8"

<Server URIEncoding="UTF-8" port="8005" shutdown="SHUTDOWN">

第二步:建立一个.filter的类,实现过滤字符

Fil .java

package sun.filter;
import java.io.IOException;
import javax.servlet.*;

public class Fil implements Filter {

 public void destroy() 
         {
            }

 public void doFilter(ServletRequest arg0, ServletResponse arg1,
   FilterChain arg2) throws IOException, ServletException
            {
                  // 将Request 、Response都转化为utf-8编码
                   arg0.setCharacterEncoding("UTF-8");  
                  arg1.setCharacterEncoding("UTF-8");                
                  arg2.doFilter(arg0, arg1);
            }

 public void init(FilterConfig arg0) throws ServletException
          {
              }        
}

第三步: 在网站配置文件web.xml, 为了更好理解把我的给帖出来

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 
  <filter>
  <filter-name>encoding</filter-name>
  <filter-class>sun.filter.Fil</filter-class>
  </filter>
 
  <servlet>
    <servlet-name>userpass</servlet-name>
    <servlet-class>sun.sta.userpass</servlet-class>
  </servlet>

<filter-mapping>
     <filter-name>encoding</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
   
  <servlet-mapping>
    <servlet-name>userpass</servlet-name>
    <url-pattern>/userpass</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

23

checkbox在JSP实现批量删除的过程中的取值问题

在一些文章发布系统中,常常用到批量删除。

这时就用到SQL语句:delete from 表名 where 字段名 in (参数1,参数2,参数3......)

用checkbox控件传值是一个很好的选择,但是在取值过程中与ASP有些不同,ASP直接使用

request.Form(checkbox的名字)就能实现:   参数1,参数2,参数3......    格式的排列

在JSP中还需要一定处理,以下为实现的一种方式,代码如下:

客户端:

<BODY>
<CENTER><H4>checkBox批量删除</H4></CENTER>
<HR>
   <FORM METHOD="POST" ACTION="test.jsp">
   <INPUT TYPE="checkbox" NAME="name" value="1"> 条目1<BR>
   <INPUT TYPE="checkbox" NAME="name" value="2"> 条目2<BR>
   <INPUT TYPE="checkbox" NAME="name" value="3"> 条目3<BR>
   <INPUT TYPE="checkbox" NAME="name" value="4"> 条目4<BR>
   <INPUT TYPE="checkbox" NAME="name" value="5"> 条目5<BR>
   <INPUT TYPE="checkbox" NAME="name" value="6"> 条目6<BR>
   <INPUT TYPE="checkbox" NAME="name" value="7"> 条目7<BR>
   <INPUT TYPE="submit" value="提交">
   </FORM>
</BODY>

服务器端:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String[] name=request.getParameterValues("name");//取值,字符串数组存值
String str=name[0].toString();
for(int i=1;i<name.length;i++){
str=str+","+name[i];   //转化为字符串,添加逗号
}
out.print("str=");
out.print(str);
%>
 

23

SSD、HDD硬盘性能对比 + USB 3.0 惊人307MB/s

Intel果然在旧金山IDF 2008上展示了SuperSpeed USB 3.0技术,并第一次亮出了真正的传输速度,已经超过300MB/s。

USB 3.0的理论最大速度是USB 2.0 High-Speed的十倍,也就是600MB/s,Intel就宣称借助它可以在60-70秒钟内传输一部27GB的高清电影。当然了,受制于各种因素,实际传输速度会比这低很多,但也足以远胜USB 2.0。

Intel在现场使用了来自Ellisys的一台USB测试分析仪器,可以监测信号完整性,同时显示USB 3.0原型平台的速度达到了307MB/s,将USB 2.0远远甩在身后,足以满足当今大容量硬盘和闪存卡的数据存储要求。

Intel曾在日前发布了第一份USB 3.0主控制器规范“xHCI”(扩展主控制器界面),但完整的USB 3.0标准规范还需要一段时间。

英特尔现场对比SSD、HDD硬盘性能

2008年8月19日开幕的英特尔信息技术峰会现场,英特尔NAND产品事业部正式宣布进军SSD高效能固态硬盘规划与时间表,新产品将命名为“Intel High-Performance SATA Solid-State Drive”,将分为1.8英寸和2.5英寸两个版本的固态驱动器——英特尔® X18-M和X25-M主流固态驱动器将于未来30天内上市,适用于企业级笔记本电脑和台式机,可提供更加轻巧、安静、耐用的计算机产品且电池续航时间更长、性能更高。

 

 

Intel NAND产品事业群产品经理Kishore Rao讲解

 

 

 

 

现场对比SATA SSD、5400转HDD、128GB MLC SSD硬盘性能

 

 

 

 

对比测试平台

 

 

 

 

SATA SSD硬盘性能大幅领先

 

SSD是一种资料储存装置,采用快闪记忆体为基础(flash-based)的固态记忆体(solid-state memory)储存资料,仿效并进而取代部分电脑中的传统硬盘,相较于传统硬盘(HDD) ,固态硬盘提供显著的优势,包括更快的系统响应应与电脑开关机时间、更坚固耐用及更长的电池续航力。

例如一个每分钟15000转的硬盘转一圈需要200毫秒的时间,而在SSD上由于是数据是存放在半导体内存上,能够在低于一毫秒的时间内对任意位置的存储单元完成I/O(输入/输出)操作,因此在对许多应用程序来说最为关键的I/O性能指标——IOPs(即每秒多少次IO动作)上,SSD可以达到硬盘的50~1000倍。

 

 

 

Intel High Performance SSD固态硬盘

 

 

 

英特尔固态驱动器拥有卓越的性能和高可靠性的优势,其主要架构特点包括:

•高度并行的10x NAND闪存通道和强大的本地命令队列功能,支持最高32个并行操作,从而带来更高操作速度。

•高级动态负载均衡可以提高可靠性和使用寿命。

•极低的写放大因数,为SLC和MLC NAND闪存提供卓越的性能以及更长的使用寿命。

性能

•英特尔® X25-E Extreme SATA固态驱动器(32GB)

•最高250MB/s读速度

•最高170MB/s写速度

•35,000 IOPS(4KB 读);3,300 IOPS(4KB写)

•75微秒读延迟

•英特尔® X18-M与X25-M主流SATA固态驱动器(80GB)

•最高250MB/s读速度

•最高70MB/s写速度

•85微秒读延迟

 

 

适用于移动和台式机客户端的英特尔® X18-M和X-25M主流SATA固态驱动器,将包括80GB和160GB两种选项。80GB产品目前正在进行抽样测试,并将在未来30天内投入生产。160GB产品预期将在今年第四季度开始抽样测试并于2009年第一季度投入生产。 (本文来源:太平洋电脑网 )

20

盛传已久的Google MP3搜索近日焦点话题

盛传已久的Google MP3搜索终于于近日出炉了,这肯定是近期的焦点话题。有道的MP3搜索(yodao网易推出的搜索引擎)也是上线不久,受关注程度自然不如Google。

地址:http://www.google.cn/music

Google采用与巨鲸网合作的方式,提供正版MP3搜索,这种方式的好处在于,省去了一些版权方面的麻烦。所谓正版,就是很多歌曲不能提供下载。同样提供MP3音乐搜索,有道采取的方式和百度类似,搜索结果很好,甚至优于百度。

在中国这种全民版权意识单薄的地方,我们都已经习惯享受免费的网络大餐了。不管是百度、有道、搜刮等MP3搜索引擎,还是酷狗等P2P软件,只要简单的搜索,可以享受免费MP3,无所谓正版和盗版。

假如你在使用Google MP3搜索,如果搜索到的歌曲只提供试听不提供下载,千万不要大惊小怪,你听到的可是正版音乐!

最后,支持正版!

07

今天是七夕,是中国的情人节

中午上网的时候才知道今天是七夕,这些天都在学习JAVA程序,基本上忘记了时间,今天很忙啊。

Happy Valentine's Day!   祝福天下有情人终成眷属!

明天就是2008年8月8日,期待已久的北京Beijing2008奥运会,再过几十个小时就要来临了。

昨天,中国女足2:1瑞典,给中国的体育健儿一个开门红。

祝福奥运,祝福中国!  加油!~

06

2008北京奥运即将到来,一些网站顶端的变化

2008北京奥运即将到来,大家可能都发现:

一些网站头部会突出关于奥运的信息,很多人不知道怎么弄,其实大部分就是修改了CSS样式来实现。

下面就是body的代码

body {background:url(图片地址) top center no-repeat;padding-top:50px;}

 //  top center no-repeat    图片顶端居中,不重复显示
//  padding-top:50px   头部下移50像素

06

Windows自动登录和来宾用户的密码设置

Windows自动登录

有时候我们经常碰到这样的问题: 每次登录都要点击一下,或键入密码后,才能进入系统操作。其实我们有一种办法让系统自动登录你要指定的帐户。

单击“开始/运行”,输入“rundll32 netplwiz.dll,UsersRunDll”,按回车键后弹出“用户帐户”窗口,看清楚,这可跟“控制面板”中打开的“用户账户”面板窗口不同哦!

然后取消选定“要使用本机,用户必须输入用户名和密码”选项,单击确定,在弹出的对话框中输入你想让电脑每次自动登录的账户和密码即可。

来宾(Guests)用户的密码设置

我们启用了来宾帐户,大多都是为了共享,因为没有密码容易被其他人读取。所以我们设置密码来限制起访问。

点击右键>我的电脑>管理>计算机管理>本地用户和组下面有一个来宾帐户在上面点右键可以设置密码

01

【转】用java写的基于Socket的简单即时通讯程序

用java写的基于Socket的简单即时通讯程序,用户可以注册并登录,也可以作为游客身份使用.
 

Java代码
  1. /**//*  
  2.  *服务端  
  3.  */  
  4.   
  5. import java.io.*;   
  6. import java.net.*;   
  7. import java.awt.event.ActionEvent;   
  8. import java.awt.event.ActionListener;   
  9. import java.awt.event.KeyAdapter;   
  10. import java.awt.event.KeyEvent;   
  11.   
  12. import javax.swing.*;   
  13.   
  14. public class Server extends JFrame implements Runnable {   
  15.  private ServerSocket server;   
  16.  private Socket connection;   
  17.  private OutputStream output;   
  18.  private InputStream input;   
  19.  private Thread outThread;   
  20.  private JTextArea display;   
  21.  private JTextField text1;   
  22.  private JButton startButton;   
  23.     
  24.  public static void main(String args[]) {   
  25.   Server s = new Server();   
  26.   s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
  27.  }   
  28.   
  29.  public Server() {   
  30.   super("Server");   
  31.   startButton = new JButton("Start the server");   
  32.   text1 = new JTextField(20);   
  33.   display = new JTextArea(730);   
  34.   display.setEditable(false);   
  35.  Container container = getContentPane();   
  36.   container.setLayout(new BorderLayout());   
  37.   container.add(startButton,BorderLayout.NORTH);   
  38.   container.add(new JScrollPane(display),BorderLayout.CENTER);   
  39.   container.add(text1,BorderLayout.SOUTH);    
  40.   
  41.  /**//*  
  42.    * 给开始按钮添加监听器。  
  43.    */  
  44.   startButton.addActionListener(new ActionListener(){   
  45.    public void actionPerformed(ActionEvent e) {   
  46.     display.setText("启动服务器 ");   
  47.     startButton.setEnabled(false);   
  48.     try {   
  49.      //端口设为5000,最大连接请求为100个   
  50.      server = new ServerSocket(5000100);   
  51.      connection = server.accept();   
  52.      output = connection.getOutputStream();   
  53.      input = connection.getInputStream();   
  54.      output.write("连接成功! ".getBytes());   
  55.      outThread = new Thread(Server.this);   
  56.      outThread.start();   
  57.      } catch (IOException ee) {   
  58.     }   
  59.    }   
  60.   });   
  61.      
  62.   /**//*  
  63.   /*给文本域添加键盘监听器,按回车发送信息。  
  64.         */  
  65.      
  66.   text1.addKeyListener(new KeyAdapter(){   
  67.    public void keyPressed(KeyEvent ke) {   
  68.     if(ke.getKeyCode() == KeyEvent.VK_ENTER){   
  69.      byte writeBytes[] = new byte[50];   
  70.      String s = "Server: " + text1.getText() + "";   
  71.      text1.setText("");   
  72.      writeBytes = s.getBytes();   
  73.      display.append(s+" ");   
  74.      try {   
  75.       output.write(writeBytes);   
  76.      } catch (IOException ee) {   
  77.      }   
  78.      if (s.trim().equals("Server: exit")) {   
  79.       outThread.stop();   
  80.       quit();   
  81.      }   
  82.     }   
  83.    }   
  84.   });   
  85.   setSize(300400);   
  86.   setResizable(false);   
  87.   setVisible(true);   
  88.  }   
  89.   
  90.  public void run() {   
  91.   while (true) {   
  92.    byte readBytes[] = new byte[50];   
  93.    try {   
  94.     input.read(readBytes);//读去对方发送的消息   
  95.    } catch (IOException e) {   
  96.    }   
  97.    String s = new String(readBytes);   
  98.    display.append(s+" ");   
  99.    if (s.trim().equals("Client: exit"))   
  100.     break;   
  101.   }   
  102.   quit();   
  103.  }   
  104.   
  105.  public void quit() {   
  106.   try {   
  107.    output.close();   
  108.    input.close();   
  109.    connection.close();   
  110.   } catch (IOException e) {   
  111.   }   
  112.   startButton.setEnabled(true);   
  113.  }   
  114. }   
  115. /**//*  
  116.  *客户端  
  117.  */  
  118. package edu.jlu.fuliang;   
  119.   
  120. import java.io.*;   
  121. import java.net.*;   
  122. import java.awt.event.ActionEvent;   
  123. import java.awt.event.ActionListener;   
  124. import java.awt.event.KeyAdapter;   
  125. import java.awt.event.KeyEvent;   
  126. import javax.swing.*;   
  127.   
  128. public class Client extends JFrame implements Runnable {   
  129.  private Socket client;   
  130.  private OutputStream output;   
  131.  private InputStream input;   
  132.  private Thread outThread;   
  133.  private JTextArea display;   
  134.  private JTextField text1;   
  135.  private JButton startButton;   
  136.  private JMenu loginMenu = new JMenu("登录");    
  137.  private JMenuItem register = new JMenuItem("注册");   
  138.  private JMenuItem login = new JMenuItem("登录");   
  139.  private JMenuBar bar = new JMenuBar();   
  140.  private Register registerDlg ;   
  141.  private Login loginDlg;   
  142.  private RandomAccessFile file;   
  143.   
  144.  public static void main(String args[]) {   
  145.   Client c = new Client();   
  146.   c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
  147.  }   
  148.   
  149.  public Client() {   
  150.   super("Client");   
  151.   startButton = new JButton("Connect to server");   
  152.   text1 = new JTextField(20);   
  153.   display = new JTextArea(730);   
  154.   display.setEditable(false);   
  155.    loginMenu.add(register);   
  156.   loginMenu.add(login);   
  157.   bar.add(loginMenu);   
  158.   setJMenuBar(bar);   
  159.   Container container = getContentPane();   
  160.   container.setLayout(new BorderLayout());   
  161.   container.add(startButton,BorderLayout.NORTH);   
  162.   container.add(new JScrollPane(display),BorderLayout.CENTER);   
  163.   container.add(text1,BorderLayout.SOUTH);   
  164.   
  165.   try {   
  166.      file = new RandomAccessFile(new File("E://login.txt"),"rw");   
  167.   } catch (IOException e1) {   
  168.    e1.printStackTrace();   
  169.   }   
  170.   registerDlg = new Register(this,file);   
  171.   loginDlg = new Login(this,file);   
  172.   startButton.addActionListener(new ActionListener(){   
  173.    public void actionPerformed(ActionEvent e) {   
  174.     display.setText("连接服务器");   
  175.     startButton.setEnabled(false);   
  176.     try {   
  177.      client = new Socket("127.0.0.1"5000);   
  178.      output = client.getOutputStream();   
  179.      input = client.getInputStream();   
  180.      outThread = new Thread(Client.this);   
  181.      outThread.start();   
  182.     } catch (IOException ee) {   
  183.     }   
  184.    }   
  185.   });   
  186.   text1.addKeyListener(new KeyAdapter(){   
  187.    public void keyPressed(KeyEvent ke) {   
  188.    if(ke.getKeyCode() == KeyEvent.VK_ENTER){   
  189.     byte writeBytes[] = new byte[50];   
  190.     String s = loginDlg.getLoginName()+": " + text1.getText() + "";   
  191.     text1.setText("");   
  192.     writeBytes = s.getBytes();   
  193.     display.append(s+" ");   
  194.     try {   
  195.      output.write(writeBytes);   
  196.     } catch (IOException ee) {   
  197.     }   
  198.     if (s.trim().equals(loginDlg.getLoginName()+": exit")) {   
  199.      outThread.stop();   
  200.      quit();   
  201.     }   
  202.    }   
  203.    }   
  204.   });   
  205.   register.addActionListener(new ActionListener(){   
  206.    public void actionPerformed(ActionEvent e) {   
  207.     registerDlg.setVisible(true);   
  208.    }   
  209.   });   
  210.   login.addActionListener(new ActionListener(){   
  211.    public void actionPerformed(ActionEvent e) {   
  212.     loginDlg.setVisible(true);   
  213.    }   
  214.   });   
  215.   setSize(300400);   
  216.   setResizable(false);   
  217.   setVisible(true);   
  218.  }   
  219.   
  220.  public void run() {   
  221.   while (true) {   
  222.    byte readBytes[] = new byte[1024];   
  223.    try {   
  224.     input.read(readBytes);   
  225.    } catch (IOException e) {   
  226.    }   
  227.    String s = new String(readBytes);   
  228.    display.append(s+" ");   
  229.    if (s.trim().equals("Server: exit"))   
  230.     break;   
  231.   }   
  232.   quit();   
  233.  }   
  234.   
  235.  public void quit() {   
  236.   try {   
  237.    output.close();   
  238.    input.close();   
  239.    client.close();   
  240.   } catch (IOException e) {   
  241.   }   
  242.   startButton.setEnabled(true);   
  243.  }   
  244. }   
  245.   
  246. package edu.jlu.fuliang;   
  247.   
  248. import java.awt.*;   
  249. import java.awt.event.*;   
  250. import java.io.*;   
  251. import javax.swing.*;   
  252.   
  253.   
  254. public class Login extends JDialog{   
  255.  private JTextField textField;   
  256.  private JButton loginButton;   
  257.  private RandomAccessFile file;//保存注册信息的文件   
  258.  private String loginName = "guest";//保存登录者的名字,为登陆为guest;   
  259.     
  260.  public Login(JFrame f,RandomAccessFile file){   
  261.   super(f,"登陆",false);   
  262.   this.file = file;   
  263.   JPanel panel = new JPanel();   
  264.   panel.add(new JLabel("昵称:"));   
  265.   textField = new JTextField(10);   
  266.   panel.add(textField);   
  267.   Container container = getContentPane();   
  268.   container.setLayout(new BorderLayout());   
  269.   container.add(panel,BorderLayout.NORTH);   
  270.   loginButton = new JButton("登陆");   
  271.   container.add(loginButton,BorderLayout.SOUTH);   
  272.   setVisible(false);   
  273.   setBounds(100,200,200,200);   
  274.   loginButton.addActionListener(new LoginListener());   
  275.  }   
  276.     
  277.  public String getLoginName(){   
  278.   return loginName;   
  279.  }   
  280.  /**//*  
  281.   * 登录监听器,当单击登陆按钮时,触发该事件  
  282.   * 从文件中读取并查找是否注册过,如果没有找  
  283.   * 到则弹出未注册警告。否则弹出欢迎对话框表  
  284.   * 示欢迎  
  285.   */  
  286.  private class LoginListener implements ActionListener{   
  287.  public void actionPerformed(ActionEvent e) {   
  288.   boolean flag = false;   
  289.   try {   
  290.    String name = textField.getText().trim();   
  291.    textField.setText("");   
  292.    file.seek(0);   
  293.    while(file.getFilePointer() < file.length()){   
  294.     String nik = file.readUTF();   
  295.     if(nik.equals(name)){   
  296.      flag = true;   
  297.      loginName = name;   
  298.      break;   
  299.     }   
  300.    }   
  301.    if(!flag){   
  302.     String warning="没有找到你的账号请先注册!";   
  303.              JOptionPane.showMessageDialog(Login.this,warning,"警告",JOptionPane.WARNING_MESSAGE);   
  304.    }else{   
  305.     String welcome="欢迎来聊天!";   
  306.              JOptionPane.showMessageDialog(Login.this,welcome,"欢迎",JOptionPane.WARNING_MESSAGE);   
  307.    }   
  308.    Login.this.setVisible(false);   
  309.   } catch (IOException e1) {   
  310.    e1.printStackTrace();   
  311.   }   
  312.  }   
  313.  }   
  314. }   
  315.   
  316.  
  317.   
  318. import java.awt.*;   
  319. import java.awt.event.*;   
  320. import java.io.*;   
  321. import javax.swing.*;   
  322.   
  323.   
  324. public class Register extends JDialog{   
  325.  private String nickName;   
  326.  private JTextField textField;   
  327.  private JButton registerButton;   
  328.  private RandomAccessFile file;////保存注册信息的文件   
  329.     
  330.  public Register(JFrame f,RandomAccessFile file){   
  331.   super(f,"注册",false);   
  332.   this.file = file;   
  333.   JPanel panel = new JPanel();   
  334.   panel.add(new JLabel("昵称:"));   
  335.   textField = new JTextField(10);   
  336.   panel.add(textField);   
  337.   Container container = getContentPane();   
  338.   container.setLayout(new BorderLayout());   
  339.   container.add(panel,BorderLayout.NORTH);   
  340.   registerButton = new JButton("注册");   
  341.   container.add(registerButton,BorderLayout.SOUTH);   
  342.   setVisible(false);   
  343.   setBounds(100,200,200,200);   
  344.   registerButton.addActionListener(new RegisterListener());   
  345.  }   
  346.  /**//*  
  347.   * 注册监听器,当单击登注册按钮时,触发该事件  
  348.   * 并向文件中写入注册信息。  
  349.   */  
  350.  private class RegisterListener implements ActionListener{   
  351.  public void actionPerformed(ActionEvent e) {   
  352.   try {   
  353.    file.seek(file.length());   
  354.    String  str = textField.getText();   
  355.    textField.setText("");   
  356.    file.writeUTF(str);   
  357.    Register.this.setVisible(false);   
  358.   } catch (IOException e1) {   
  359.    e1.printStackTrace();   
  360.   }   
  361.  }   
  362.  }