java知识点积累

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));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值