制作简易QQ登陆页面
前面大概制作了一下QQ用户密码以及发送的页面,接下来需要做到的就是如何利用IO流来存储你所发送的内容,然后点击发送后可以把你所发送的内容再传输到发送页面。
大致要点
1.什么是IO流
2.IO流大概是怎样存储文件信息
3.如何将IO流储存的信息发送到文本区域当中
我们就再次开始呗~
step1:
我们先了解一下IO流,我们大致晓得我们程序是在内存和CPU中运行,语句就是对CPU的操作,变量和new对象就是对内存的划分 ,可是像硬盘之类的东西不在内存当中,程序需要和他们合作的时候,这种合作就有点像IO流技术,不知道我有没有说明白 ,没明白问题也不大,就是说白了,IO流就是让你可以跳出内存,操作一些内存外的东西,比如后面需要把文件存储进记事本里面的操作,就是一种IO流技术。
IO流的具体操作有点像把一个桶子里面的水导入到另外一个桶子里面,IO流技术也是这三步走。
第一步:找到要输入的桶子(定位)
第二步:做一个输出和输入的管子(流向内存或者流出内存)
第三部:操作管子,是你要流向内存还是流出内存*
注意:不论你是流出还是流向内存,都是脱离了内存进行操作,这种操作有一定的风险,所以java有一个保护机制,叫做try catch,不在保护机制下面运行的话,java会报错。
下面可以尝试一下把一个硬盘当中的一个记事本里面的内容输入到另外一个记事本当中,需要用到java.io * ;这个包。
a.定位用的类是File
b.建立水管的话就是读取(输入流)FileReader和写入(输出流)FileWriter
基于所用到的BufferedReade是为了能够之后一行一行的输出,这也就是一个攒字符(缓冲)的作用,到一行字符串在给你输出,然后对应的缓冲输出流本来应该是BufferedWriter,但是PrintWriter在格式处理要比BufferedWriter更好,不信可以用下后者,点不出来你想要的方法。
c.操作水管就是让test1内容输入到test2
代码就这样
import java.io.*;
public class Test {
public static void main(String[] args) {
try {
/**定位*/
//定位输出的记事本output(输出)
File output = new File("D:/test/test1.TXT");//该文件路径不能错误,记事本中要有内容
//定位输入的记事本input(输入)
File input = new File("D:/test/test2.TXT");
/**建立水管*/
FileReader read = new FileReader(output);//建立读文件read
BufferedReader temporaryR = new BufferedReader(read);//把文件一行内容缓冲存储在temporaryR(暂存R)中
FileWriter write = new FileWriter(input);//建立写文件write,写入input
PrintWriter temporaryW = new PrintWriter(write);//储存缓冲的输出流在temporaryW(暂存W)中
/**进行操作*/
while(temporaryR.ready()) {
//ready()方法能判断多少行,行数为结束就一直为true,不信可以在循环当中输出temporaryR.ready()的值
temporaryW.println(temporaryR.readLine());//一行一行的将字符串输入到input记事本当中
}
temporaryW.close();//关闭流,否则一直垃圾回收机制会清楚垃圾,甚至缓冲区也清楚清除,最后文件会呈现一片空白
}catch(Exception e) {
}//捕获异常
}
}
如果程序能够实现的话,java会在你所指定的位置建立一个记事本test2,并且将刚开始你所建立好记事本test1当中的内容复制到test2中。
step2:
如果IO流技术能够接受的话,我们就阔以把IO流用在聊天页面上,也就是触发发送按钮之后,输入框的文字就会存储在记事本中,作为记录,然后将记录发送到文字区域当中,就可以实现一种发送出去的感觉。
现在首要任务就是如何点击页面发送,java会给我们一个回应
所以需要用到的就是一个接口ActionListener来连接按钮,需要用到的是import java.awt.event.*;这个包,为了让java知道我们点的是按钮,还需要加一个事件监听,监听的是对象,还需要new一个对象出来,监听方法是addActionListener。
代码长这样
import javax.swing.*;
import java.awt.event.*;//接口连接按钮
import java.awt.*;
public class QQpage implements ActionListener {
public static void main(String[] args