回顾JAVA基础

1. 文件处理
public void copyfile(String from, String to) throws Exception {
File file = new File(from);
//判断文件存在
if(!file.exists()){
//创建新文件
file.createNewFile();
}
File file1 = new File(to);
if(!file1.exists()){
file1.createNewFile();
}
//从文件系统中的某个文件中获取输入字节。
FileInputStream fin = new FileInputStream(from);
//InputStreamReader是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。
//它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集
InputStreamReader ir = new InputStreamReader(fin);
//从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
//通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。
//因此,建议用 BufferedReader 包装所有其 read()
//操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。
BufferedReader in = new BufferedReader(ir);
//文件输出流是用于将数据写入 File
FileOutputStream fo = new FileOutputStream(to);
//是字符流通向字节流的桥梁
//用指定的 charset 将要向其写入的字符编码为字节。
//它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。
OutputStreamWriter ow = new OutputStreamWriter(fo, "GBK");
//将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
BufferedWriter bw = new BufferedWriter(ow);
//向文本输出流打印对象的格式化表示形式
PrintWriter out = new PrintWriter(bw, true);
String data = in.readLine();
while (data != null) {
out.println(data);
data = in.readLine();
}
in.close();
out.close();
}
2.toCharArray()作用
public MyString(String s) {
// 将此字符串转换为一个新的字符数组。
cs = s.toCharArray();
}
3.Instanceof作用
//判定指定的 Object 是否与此 Class 所表示的对象赋值兼容。
if (!(o instanceof MyString))
4.Vector 用法
//构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零。
Vector v = new Vector();
String s = "test";
//将指定的组件添加到此向量的末尾,小标从0开始 将其大小增加 1。
v.addElement(new String("hello"));
v.addElement(new Integer(1));
v.addElement(s);
v.addElement(s);
//向量大小为4
System.out.println(v.size());
//返回指定索引处的组件。得到字符串test
Object o1 = v.elementAt(2);
Object o2 = v.elementAt(3);
5.文件操作
public class UseFile {
public static void main(String args[]) throws Exception {
// 通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。
File dir1 = new File("D:\\dir1");
//测试此抽象路径名表示的文件或目录是否存在
if (!dir1.exists())
//创建此抽象路径名指定的目录。
dir1.mkdir();
//根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File dir2 = new File(dir1, "dir2");
if (!dir2.exists())
dir2.mkdirs();
File dir4 = new File(dir1, "dir3\\dir4");
if (!dir4.exists())
dir4.mkdirs();
File file = new File(dir2, "test.txt");
if (!file.exists())
//当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。
file.createNewFile();
listDir(dir1);
deleteDir(dir1);
}

/** 察看目录信息 */
public static void listDir(File dir) {
//返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件
File[] lists = dir.listFiles();
//打印当前目录下包含的所有子目录和文件的名字
String info = "目录:" + dir.getName() + "(";
for (int i = 0; i < lists.length; i++)
//返回由此抽象路径名表示的文件或目录的名称。
info += lists[i].getName() + " ";
info += ")";
System.out.println(info);
//打印当前目录下包含的所有子目录和文件的详细信息
for (int i = 0; i < lists.length; i++) {
File f = lists[i];
// 测试此抽象路径名表示的文件是否是一个标准文件。
if (f.isFile())
System.out.println("文件:" + f.getName() + " canRead:"
//canRead()测试应用程序是否可以读取此抽象路径名表示的文件。
+ f.canRead() + " lastModified:"
//返回此抽象路径名表示的文件最后一次被修改的时间。
+ new Date(f.lastModified()));
else
//如果为目录,就递归调用listDir()方法
listDir(f);
}
}
/** 删除目录或文件,如果参数file代表目录,会删除当前目录以及目录下的所有内容*/
public static void deleteDir(File file) {
//如果file代表文件,就删除该文件
if (file.isFile()) {
// 删除此抽象路径名表示的文件或目录。
file.delete();
return;
}
//如果file代表目录,先删除目录下的所有子目录和文件
File[] lists = file.listFiles();
//返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。
for (int i = 0; i < lists.length; i++)
deleteDir(lists[i]); //递归删除当前目录下的所有子目录和文件
//最后删除当前目录   
file.delete();
}
}
6.
URL url = new URL("http://www.javathinker.org/weiqin/sole.htm");
//打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。
is = url.openStream();
byte buffer[] = new byte[2048];
// 将输入流中最多  buffer.length 个数据字节读入字节数组。
is.read(buffer, 0, buffer.length);
System.out.println(new String(buffer));
7.
String s = "你好!";
//使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
byte[] gbk = s.getBytes("GBK");
byte[] utf = s.getBytes("UTF8");
printByteArray(gbk); // -60 -29 -70 -61 -93 -95
printByteArray(utf);// 63 63 63
//构造一个新的 String,方法是使用指定的字符集解码指定的字节数组。
String gbk_string = new String(gbk, "gbk");
String utf_string = new String(utf, "utf8");
8.Switch的用法
switch(i<10?1:i<25?2:i<35?3:4){
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
}
9.当前时间
Date now = new Date();
DateFormat df =  DateFormat.getDateInstance();
      DateFormat df1 = DateFormat.getDateInstance(DateFormat.SHORT);
      DateFormat df2 = DateFormat.getDateInstance(DateFormat.MEDIUM);
      DateFormat df3 = DateFormat.getDateInstance(DateFormat.LONG);
      DateFormat df4 = DateFormat.getDateInstance(DateFormat.FULL);
      String s =  df.format(now);
      String s1 = df1.format(now);
      String s2 = df2.format(now);
      String s3 = df3.format(now);
      String s4 = df4.format(now);

      System.out.println("(Default) Today is " + s);
      System.out.println("(SHORT)   Today is " + s1);
      System.out.println("(MEDIUM)  Today is " + s2);
      System.out.println("(LONG)    Today is " + s3);
  System.out.println("(FULL)    Today is " + s4);
结果:
(Default) Today is 2008-5-22
(SHORT)   Today is 08-5-22
(MEDIUM)  Today is 2008-5-22
(LONG)    Today is 2008年5月22日
(FULL)    Today is 2008年5月22日 星期四

10.时间处理
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;

public class NowTime {

public static void main(String[] args) throws java.text.ParseException {
// 取年月日
Date myDate = new Date();
int thisYear = myDate.getYear() + 1900;
int thisMonth = myDate.getMonth() + 1;
int thisDate = myDate.getDate();
System.out.println("thisYear::" + thisYear + "thisMonth::" + thisMonth
+ "thisDate::" + thisDate);
// 取当地时间
System.out.println("now:" + myDate.toLocaleString());
// 按照指定格式打印日期

SimpleDateFormat ftm = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(ftm.format(myDate));

// 将字符串转化日期
String input = "1222-11-11";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date t = null;
try {
// 分析字符串的文本,生成 Date。
t = formatter.parse(input);
System.out.println(ftm.format(t));
} catch (ParseException e) {
System.out.println("unparseable using " + formatter);
}

// 计算日期之间的间隔
String inputa = "2008-05-29";
SimpleDateFormat formattera = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = null;
try {
d1 = formattera.parse(inputa);
} catch (ParseException e) {
System.out.println("unparseable using " + formatter);
}

Date d2 = new Date();
// 算出来的是毫秒
long diff = d1.getTime() - d2.getTime();
System.out.println("Difference is " + (diff / (1000 * 60 * 60 * 24))
+ " days.");


// 日期的加减运算
Calendar now = Calendar.getInstance();
SimpleDateFormat formatterb = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("It is now " + formatter.format(now.getTime()));
// 减两年.
now.add(Calendar.DAY_OF_YEAR, -(365 * 2));
System.out.println("Two years ago was "
+ formatter.format(now.getTime()));
// 比较日期
DateFormat df = new SimpleDateFormat("yyy-MM-dd");
Date d11 = df.parse("2000-01-01");
Date d33 = df.parse("1999-12-31");
String relation = null;
if (d11.equals(d33))
relation = "the same date as";
else if (d11.before(d33))
relation = "before";
else
relation = "after";
System.out.println(df.format(d11)+ " is " + relation + ' ' + df.format(d33));

}

}

你可能感兴趣的:(java,apache,F#,sun)