1.时间格式和字符串的转化:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 时间格式转化为字符串
String newTime = sdf.format(new Date());
try {
// 字符串转化为时间格式
Date date = sdf.parse("2012-08-30 10:32:42");
} catch (ParseException e1) {
e1.printStackTrace();
}
2.获取屏幕的尺寸:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int widthSize = (int) screenSize.getWidth();
int heightSize = (int) screenSize.getHeight();
3.图片缩放
ImageIcon imageIcon = new ImageIcon("src/local/myPhotos/" + fileNames[photoNo]);
Image image = imageIcon.getImage();
image = image.getScaledInstance(widthSize / 1024 * 750,
heightSize / 768 * 370, Image.SCALE_DEFAULT);
//imageIcon = new ImageIcon(image);
imageIcon.setImage(image);
imageLabel.setIcon(imageIcon);
4.线程
// 当前线程休息1秒
Thread.sleep(1000);
5.获取n位验证码
/**
* 获取n位验证码
*/
private String checkCode(int n) {
StringBuffer sb = new StringBuffer();
String base = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (int i = 0; i < n; i++) {
Random random = new Random();
int randomNo = random.nextInt(base.length());
char randomNum = base.charAt(randomNo);
sb.append(randomNum);
}
return sb.toString();
}
6.Socket编程
客户端:
/**
* 用字节流从服务器下载文件
*/
private void downloadMusicByByte(File file,Socket sk)
{
DataInputStream dis;
FileOutputStream fos;
//用法类似于FileOutputStream
//ImageOutputStream imageos;
try {
dis=new DataInputStream(sk.getInputStream());
fos = new FileOutputStream(file);
//imageos=ImageIO.createImageOutputStream(file);
byte[] buffer=new byte[1024];
int len=0;
//len = imageos.read(buffer);
while((len=dis.read(buffer))>0){
fos.write(buffer,0,len);
fos.flush();
}
dis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 用字符流从服务器下载文件
*/
private void downloadMusicByChar(File file,Socket sk)
{
BufferedReader br;
BufferedWriter bw;
try {
br=new BufferedReader(new InputStreamReader(sk.getInputStream()));
bw = new BufferedWriter(new FileWriter(file));
String line;
while(null != (line = br.readLine())){
bw.write(line);
bw.newLine();
}
bw.close();
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
服务器端:
/**
* 以字节流向客户端发送文件流
*/
private void sendFileStreamByByte(File file,Socket client)
{
DataOutputStream dos;
FileInputStream fis;
//这个跟FileInputStream用法差不多
//ImageInputStream imageis;
try {
//imageis=ImageIO.createImageInputStream(file);
dos = new DataOutputStream(client.getOutputStream());
fis = new FileInputStream(file);
byte[] buffer = new byte[1024];
int len=0;
//len = imageis.read(buffer)
while((len = fis.read(buffer))>0)
{
dos.write(buffer,0,len);
dos.flush();
}
fis.close();
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 以字符流向客户端发送文件流
*/
private void sendFileStreamByChar(File file,Socket client)
{
BufferedWriter bw;
OutputStreamWriter osw;
BufferedReader br;
try {
osw = new OutputStreamWriter(client.getOutputStream());
bw=new BufferedWriter(osw);
br = new BufferedReader(new FileReader(file));
String line;
while(null != (line = br.readLine()));
{
bw.write(line);
bw.newLine();
}
bw.close();
br.close();
osw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
7.Socket编程中一次接收并反馈信息的过程:
/**
* 服务器端 先接收客户端的请求,再向客户端反馈信息
* ServerSocket sst=new ServerSocket(8821);
* Socket client=sst.accept();
* 客户端 发送请求给服务器,再接收服务器端的反馈信息
* Socket client = new Socket("127.0.0.1", 8821);
*/
private String ttt(String sendMes,Socket client)
{
String receiveMes = "";
try {
BufferedReader br=new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter pw=new PrintWriter(client.getOutputStream());
//接收到的信息
receiveMes=br.readLine();
//向对方反馈信息
pw.println(sendMes);
pw.flush();
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
return receiveMes;
}
8.添加监听:
第一种:
songMusicList.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
startDownloadMusic(songMusicList);
}
}
});
第二种:实现MouseListener接口
myMusicList.addMouseListener(this);
@Override
public void mouseClicked(MouseEvent e) {
if (e.getSource() == mainMusicList) {
showBackImage(imageFileName);
} else if (e.getSource() == songMusicList) {
if (e.getClickCount() == 2) {
startDownloadMusic(songMusicList);
}
}
}
9.重命名文件:
//toFiles新文件路径,fileName新文件名
file.renameTo(new File(toFiles,fileName));