//代码经过编译,运行,证明可以运行
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.net.*;
import javax.swing.filechooser.FileFilter;
public class Ftp extends JLabel
{
private JButton openButton;
private JButton saveButton;
JFileChooser fc;
String fileName;
int result;
Ftp()
{
setLayout(new GridLayout());
JButton openButton = new JButton("Open");
openButton.addActionListener(new openFile());
JButton saveButton = new JButton("Save");
saveButton.addActionListener(new saveFile());
add(openButton);
add(saveButton);
}
class openFile implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
fc = new JFileChooser();
result = fc.showOpenDialog(Ftp.this);
Fi ......
1.将日期存入Date对象
SimpleDateFormat是一个日期格式化类。yyyy,MM,dd,HH,mm,ss,SSS分别表示年,月,日,时,分,秒,毫秒。可以将他们随意组合,构建自己的日期格式。
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
然后只需要将符合日期格式的日期字符串存入Date对象中。
Date date=sdf.parse("2009-12-21 14:14:30:123");
2.将Date对象转换成字符串
和将日期存入Date对象差不多。
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
String str=sdf.format(date)
3.日期处理
这里需要借助Calendar类
创建一个Calendar对象
Calendar cal=Calendar.getInstance();
将日期对象放入cal
cal.setTime(date);
加一天
cal
.add(Calendar.DATE, 1);
减一天
cal
.add(Calendar.DATE, -1);
其他地方的计算大致相同,可以查看java-api中java.util.Calendar中的静态字段
把处理后的日期放入Date对象中
date=
cal
.getTime();
4.两个日期计算
现在还没有找到更好的方法,如果要计算两个日期相差的天数的话只能把日期转换成毫秒。
(date2.getTime()-date1.getTime())/ ......
来源:http://cj1240.zhmy.com/archives/2008/148832.html
JAVA 中的IO流
一、流的概念
流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。
一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。
流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输入流写,而不能读它。
实际上,流的源端和目的端可简单地看成是字节的生产者和消费者,对输入流,可不必关心它的源端是什么,只要简单地从流中读数据,而对输出流,也可不知道它的目的端,只是简单地往流中写数据。
形象的比喻——水流 ,文件======程序 ,文件和程序之间连接一个管道,水流就在之间形成了,自然也就出现了方向:可以流进,也可以流出. ......
mysql数据库本身有数据备份和批量数据插入的命令,java代码可执行这些命令。
安装mysql后,需要设置环境变量:我的电脑右击--属性--高级--环境变量,增加MYSQL_HOME=“mysql安装路径”,然后path=%MYSQL_HOME%\bin
代码如下:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class OperateDb {
private String user;
private String password;
private String filePath;
private String dbip;
//备份数据
public void backup() {
try {
Runtime rt = Runtime.getRuntime();
//形成cmd命令
String cmd = "mysqldump -u"+user+" -p"+password+" -h"+dbip+" --set-charset=utf8 -t --no-create-info recommend movieinfo";
// 调用 mysql 的 cmd,设置导出编码为utf8。这里必须是utf8
Process child = rt.exec(cmd);
// 把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出, ......
mysql数据库本身有数据备份和批量数据插入的命令,java代码可执行这些命令。
安装mysql后,需要设置环境变量:我的电脑右击--属性--高级--环境变量,增加MYSQL_HOME=“mysql安装路径”,然后path=%MYSQL_HOME%\bin
代码如下:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class OperateDb {
private String user;
private String password;
private String filePath;
private String dbip;
//备份数据
public void backup() {
try {
Runtime rt = Runtime.getRuntime();
//形成cmd命令
String cmd = "mysqldump -u"+user+" -p"+password+" -h"+dbip+" --set-charset=utf8 -t --no-create-info recommend movieinfo";
// 调用 mysql 的 cmd,设置导出编码为utf8。这里必须是utf8
Process child = rt.exec(cmd);
// 把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出, ......
最初Java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中write(char[] ch,int off,int length),flush()和close()方法为抽象方法,Reader中read(char[] ch,int off,int length)和close()方法是抽象方法。子类应该分别实现他们。
当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader,它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。当使用FileReader读取文件的时候。
FileReader fr = new FileReader("ming.txt");
int ch = 0;
while((ch = fr.read())!=-1 )
{
System.out.print((char)ch);
}
其中read()方法返回的是读取得下个字符。当然你也可以使用read(char[] ch,int off,int length)这和处理二进制文件的时候类似,不多说了。如果使用InputStreamReader来读取文件的时候
while((ch = isr.read())!=-1)
{
System.out.print((char)ch);
}
这和FileReader并没有什么区别,事实上在FileReader中的 ......
设p1=(x1, y1), p2=(x2, y2), …, pn=(xn, yn)是平面上n个点构成的集合S,设计算法找出集合S中距离最近的点对。
蛮力算法描述:
int ClosestPoints(int n, int x[ ], int y[ ], int &index1, int &index2)
{
minDist=+∞;
for (i=1; i<n; i++)
for (j=i+1; j<=n; j++)
{
d=(x[i]-x[j])* (x[i]-x[j])+(y[i]-y[j])* (y[i]-y[j]);
if (d<minDist) {
minDist=d;
index1=i;
index2=j;
}
}
return minDist;
}
ClosestPair1.java ......