java 基础

public static void main(String[] args) {
       
         
             //获取系统所有的属性:方法一:Properties 类继承了HashTable
         //public class Properties extends Hashtable<Object,Object>    

              java.util.Properties props = System.getProperties();
                java.util.Enumeration keys = props.keys();
                String key = null;
                while(keys.hasMoreElements()){
                    key = keys.nextElement().toString();
                    System.out.println(key + "=" + props.get(key));
                }
             //获取系统所有的属性:方法二
             Properties properties = System.getProperties();  
            for(Map.Entry<Object,Object> eproperties.entrySet()) {  
                System.out.println(e.getKey() + "--------"e.getValue());  
            }  
            
    }  
java.runtime.name--------Java(TM) SE Runtime Environment
sun.boot.library.path--------C:\Program Files\Java\jre1.8.0_31\bin
java.vm.version--------25.31-b07
java.vm.vendor--------Oracle Corporation
java.vendor.url--------http://java.oracle.com/
path.separator--------;
java.vm.name--------Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg--------sun.io
user.country--------CN
user.script--------
sun.java.launcher--------SUN_STANDARD
sun.os.patch.level--------
java.vm.specification.name--------Java Virtual Machine Specification
user.dir--------D:\eclipse workspace\AB
java.runtime.version--------1.8.0_31-b13
java.awt.graphicsenv--------sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs--------C:\Program Files\Java\jre1.8.0_31\lib\endorsed
os.arch--------amd64
java.io.tmpdir--------C:\Users\hp\AppData\Local\Temp\
line.separator--------
java.vm.specification.vendor--------Oracle Corporation
user.variant--------
os.name--------Windows 8.1
sun.jnu.encoding--------GBK
java.library.path--------C:\Program Files\Java\jre1.8.0_31\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:/eclipse/eclipse-jee-neon-1a-win32-x86_64/eclipse/jre/bin/server;D:/eclipse/eclipse-jee-neon-1a-win32-x86_64/eclipse/jre/bin;D:/eclipse/eclipse-jee-neon-1a-win32-x86_64/eclipse/jre/lib/amd64;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\maven\apache-maven-3.3.3\bin;C:\Program Files\Java\jdk1.8.0_31\bin;C:\Program Files\Java\jdk1.8.0_31\jre\bin;%APPCAN_PATH%;C:\Program Files\TortoiseSVN\bin;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\nodejs\;C:\Program Files\MongoDB\Server\3.4\bin;C:\Users\hp\AppData\Roaming\npm;D:\eclipse\eclipse-jee-neon-1a-win32-x86_64\eclipse;;.
java.specification.name--------Java Platform API Specification
java.class.version--------52.0
sun.management.compiler--------HotSpot 64-Bit Tiered Compilers
os.version--------6.3
user.home--------C:\Users\hp
user.timezone--------
java.awt.printerjob--------sun.awt.windows.WPrinterJob
file.encoding--------UTF-8
java.specification.version--------1.8
java.class.path--------D:\eclipse workspace\AB\bin;D:\eclipse workspace\AB\lib\dom4j-1.6.1.jar
user.name--------hp
java.vm.specification.version--------1.8
sun.java.command--------practice.RelativePath
java.home--------C:\Program Files\Java\jre1.8.0_31
sun.arch.data.model--------64
user.language--------zh
java.specification.vendor--------Oracle Corporation
awt.toolkit--------sun.awt.windows.WToolkit
java.vm.info--------mixed mode
java.version--------1.8.0_31
java.ext.dirs--------C:\Program Files\Java\jre1.8.0_31\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path--------C:\Program Files\Java\jre1.8.0_31\lib\resources.jar;C:\Program Files\Java\jre1.8.0_31\lib\rt.jar;C:\Program Files\Java\jre1.8.0_31\lib\sunrsasign.jar;C:\Program Files\Java\jre1.8.0_31\lib\jsse.jar;C:\Program Files\Java\jre1.8.0_31\lib\jce.jar;C:\Program Files\Java\jre1.8.0_31\lib\charsets.jar;C:\Program Files\Java\jre1.8.0_31\lib\jfr.jar;C:\Program Files\Java\jre1.8.0_31\classes
java.vendor--------Oracle Corporation
file.separator--------\
java.vendor.url.bug--------http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding--------UnicodeLittle
sun.cpu.endian--------little
sun.desktop--------windows
sun.cpu.isalist--------amd64
//java 如何递归遍历一个文件夹下的所有文件  
class ListDirectory {
    public static void showDirectory(File file){
        File[] files = file.listFiles();
        for(File a:files){
            System.out.println(a.getAbsolutePath());
            if(a.isDirectory()){
                showDirectory(a);
            }
        }
    }
    public static void main(String[] args) {
    File file = new File(System.getProperty("user.dir") + "\\src\\practice");    
    showDirectory(file);
    }
}  
//根据绝对路径计算相对路径
public class RelativePath {
    public String convert(String path1, String path2) {
        String result = "";
        path1=path1.substring(1);// 第一步,先除掉绝对路径的第一个"/",以方便第二步划分
        path2=path2.substring(1);
        
        String[] array1 = path1.split("/");// 第二步:通过"/"划分绝对路径,并将相同的部分移除
        String[] array2 = path2.split("/");
        //以长度小的为基准,减少循环次数
        int len = array1.length < array2.length ? array1.length : array2.length;
        for (int i = 0; i < leni++) {
            if (array1[i].equals(array2[i])) {
                path1 = path1.substring(path1.indexOf("/") + 1);
                path2 = path2.substring(path2.indexOf("/") + 1);
            } else {
                break;
            }
        }
        System.out.println("不同部分:");
        System.out.println("path1:" + path1);
        System.out.println("path2:" + path2);
        // 第三步:对第二步产生的path1进行重新划分,将每一个“XXX/”前面部分换成"。。/"
        String[] array3 = path1.split("/");
        for (int i = 0; i < array3.length - 1; i++) {
            result += "../";
        }
        return result+path2;//第四步:组装结果
    }
     public static void main(String[] args) {
           String path1="/qihoo/app/a/b/c/d/new.c";
            String path2="/qihoo/app/1/2/test.c";
            RelativePath convertor=new RelativePath();
            String relativePath=convertor.convert(path1path2);
            System.out.println("relativePath"+relativePath);
    }
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值