代码块

Posted 沸羊羊一个

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码块相关的知识,希望对你有一定的参考价值。

1、jdk 中java.util.zip压缩和解压 代码块
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

public class GzipUtils 

    /**
    * @Description: 压缩
     */
    public static byte[] gzip(byte[] data) throws Exception
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        GZIPOutputStream gzip = new GZIPOutputStream(bos);
        gzip.write(data);
        gzip.finish();
        gzip.close();
        byte[] ret = bos.toByteArray();
        bos.close();
        return ret;
    

    /**
    * @Description: 解压
     */
    public static byte[] ungzip(byte[] data) throws Exception
        ByteArrayInputStream bis = new ByteArrayInputStream(data);
        GZIPInputStream gzip = new GZIPInputStream(bis);
        byte[] buf = new byte[1024];
        int num = -1;
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        while((num = gzip.read(buf, 0 , buf.length)) != -1 )
            bos.write(buf, 0, num);
        
        gzip.close();
        bis.close();
        byte[] ret = bos.toByteArray();
        bos.flush();
        bos.close();
        return ret;
    

    public static void main(String[] args) throws Exception

        //读取文件
        String readPath = System.getProperty("user.dir") + File.separatorChar + "sources" +  File.separatorChar + "d.zip";
        File file = new File(readPath);  
        FileInputStream in = new FileInputStream(file);  
        byte[] data = new byte[in.available()];  
        in.read(data);  
        in.close();  

        System.out.println("文件原始大小:" + data.length);
        //测试压缩

        byte[] ret1 = GzipUtils.gzip(data);
        System.out.println("压缩之后大小:" + ret1.length);

        byte[] ret2 = GzipUtils.ungzip(ret1);
        System.out.println("还原之后大小:" + ret2.length);

        //写出文件
        String writePath = System.getProperty("user.dir") + File.separatorChar + "receive" +  File.separatorChar + "d.zip";
        FileOutputStream fos = new FileOutputStream(writePath);
        fos.write(ret2);
        fos.close();        


    
2、java获取系统属性
public class TestSystemProperty 

    public static void main(String[] args) 

        System.out.println("java版本号:" + System.getProperty("java.version")); // java版本号
        System.out.println("Java提供商名称:" + System.getProperty("java.vendor")); // Java提供商名称
        System.out.println("Java提供商网站:" + System.getProperty("java.vendor.url")); // Java提供商网站
        System.out.println("jre目录:" + System.getProperty("java.home")); // Java,哦,应该是jre目录
        System.out.println("Java虚拟机规范版本号:" + System.getProperty("java.vm.specification.version")); // Java虚拟机规范版本号
        System.out.println("Java虚拟机规范提供商:" + System.getProperty("java.vm.specification.vendor")); // Java虚拟机规范提供商
        System.out.println("Java虚拟机规范名称:" + System.getProperty("java.vm.specification.name")); // Java虚拟机规范名称
        System.out.println("Java虚拟机版本号:" + System.getProperty("java.vm.version")); // Java虚拟机版本号
        System.out.println("Java虚拟机提供商:" + System.getProperty("java.vm.vendor")); // Java虚拟机提供商
        System.out.println("Java虚拟机名称:" + System.getProperty("java.vm.name")); // Java虚拟机名称
        System.out.println("Java规范版本号:" + System.getProperty("java.specification.version")); // Java规范版本号
        System.out.println("Java规范提供商:" + System.getProperty("java.specification.vendor")); // Java规范提供商
        System.out.println("Java规范名称:" + System.getProperty("java.specification.name")); // Java规范名称
        System.out.println("Java类版本号:" + System.getProperty("java.class.version")); // Java类版本号
        System.out.println("Java类路径:" + System.getProperty("java.class.path")); // Java类路径
        System.out.println("Java lib路径:" + System.getProperty("java.library.path")); // Java lib路径
        System.out.println("Java输入输出临时路径:" + System.getProperty("java.io.tmpdir")); // Java输入输出临时路径
        System.out.println("Java编译器:" + System.getProperty("java.compiler")); // Java编译器
        System.out.println("Java执行路径:" + System.getProperty("java.ext.dirs")); // Java执行路径
        System.out.println("操作系统名称:" + System.getProperty("os.name")); // 操作系统名称
        System.out.println("操作系统的架构:" + System.getProperty("os.arch")); // 操作系统的架构
        System.out.println("操作系统版本号:" + System.getProperty("os.version")); // 操作系统版本号
        System.out.println("文件分隔符:" + System.getProperty("file.separator")); // 文件分隔符
        System.out.println("路径分隔符:" + System.getProperty("path.separator")); // 路径分隔符
        System.out.println("直线分隔符:" + System.getProperty("line.separator")); // 直线分隔符
        System.out.println("操作系统用户名:" + System.getProperty("user.name")); // 用户名
        System.out.println("操作系统用户的主目录:" + System.getProperty("user.home")); // 用户的主目录
        System.out.println("当前程序所在目录:" + System.getProperty("user.dir")); // 当前程序所在目录
    

以上是关于代码块的主要内容,如果未能解决你的问题,请参考以下文章

静态代码块-普通代码块-构造代码块(好多图系列)

Java中普通代码块,构造代码块,静态代码块区别及代码示例2 构造代码块

Java中普通代码块,构造代码块,静态代码块区别及代码示例2 构造代码块

java-普通代码块构造代码块和静态代码块的区别。

Java—代码块详解

代码块和作用域