Math类
java.lang.Math提供了一系列静态方法用于科学就算:其方法的参水和返回值类型一般为double型。
FIle类
java.io.FIle类代表系统文件名(路径和文件名)。
以pathname为路径创建File对象————【不是在硬盘上创建这个文件或路径,而只是在内存里创建这样一个File对象,所以说路径上有这样一个File了是错误的】,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储
public File(String parent,String child)
以parent为父路径,child为子路径创建File对象。
File类的常见构造方法:
public File(String pathname)以pathname为路径创建File对象————【不是在硬盘上创建这个文件或路径,而只是在内存里创建这样一个File对象,所以说路径上有这样一个File了是错误的】,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储
public File(String parent,String child)
以parent为父路径,child为子路径创建File对象。
File.separator
File的静态属性String separator存储了当前系统的路径分隔符。windows下是 \ ; linux下是 / ;其实 / 在windows和linux下是通用的import java.io.*;
public class TestFile{
public static void main(String[] args){
String separator=File.separator;
String filename="myfile.txt";
String directory="mydir1"+separator+"mydir2";
//String directory="mydir1/mydir2"; //可以的!
//String directory="mydir1\\mydir2"; //由于"\"是一个转义字符,所以要用两个"\\". 但此写法只能在windoews下适用!
File f=new File(directory,filename); //在directory目录下建一名为filename的文件对象,是在内存上,不是在硬盘上!
if(f.exists()){ //判断内存上是否有这个file
System.out.println("文件名:"+f.getAbsolutePath());
System.out.println("文件大小:"+f.length());
}else{
f.getParentFile().mkdirs();
/*
因为directory中有"mydir1"和"mydir2",所以是创建两个路径,所以要用mkdirs(),而不是mkdir()
f.getParentFile() ,当该class文件中没有package时,就是找到此class文件的父路径,然后在这个父路径下mkdirs()方法创建路径。
当该class文件中有package时,就是找到此package文件的父路径,然后在这个父路径下mkdirs()方法创建路径。
*/
try{
f.createNewFile(); //创建新的文件!
}catch(IOException e){
e.printStackTrace();
}
}
}
}
列出某一目录下所有文件的目录结构
import java.io.*;
public class FileList{
public static void main(String[] args){
File f=new File("F:/JavaTest");
System.out.println(f.getName());
showall(f,1);
}
public static void showall(File f,int level){
String preStr="";
for(int i=0;i<level;i++){
preStr +=" ";
}
File[] ff=f.listFiles();
for(int i=0;i<ff.length;i++){
System.out.println(preStr+ff[i].getName());
// System.out.println("文件大小:"+f.length());
if(ff[i].isDirectory()){
showall(ff[i],level+1); //不是level++
}
}
}
}
java.lang.Enum枚举类型
枚举类型:
只能够取特定值中的一个
使用enum关键字
是java.lang.Enum类型
C++中的enum类型里面的值可以通过0,1,2,3... 来访问,而java中不可以!
只能够取特定值中的一个
使用enum关键字
是java.lang.Enum类型
C++中的enum类型里面的值可以通过0,1,2,3... 来访问,而java中不可以!
public class TestEnum{
public enum MyColor {red,green,blue};
public static void main(String[] args){
MyColor m=MyColor.red;
switch(m){
case red:
System.out.println("red");
break;
case green:
System.out.println("green");
break;
default:
System.out.println("blue");
}
}
}