菜鸟学习java,求大神解释下面的代码各段是什么意思,尽量详细,谢谢

Python036

菜鸟学习java,求大神解释下面的代码各段是什么意思,尽量详细,谢谢,第1张

Zip.java

import java.io.*

import java.util.zip.*

public class Zip {

static final int BUFFER = 2048// 定义缓冲区大小

public static void main (Stringargv[]) {

try {

BufferedInputStream origin= null // 创建带有缓冲区的inputstrream

FileOutputStream dest = new

FileOutputStream("c:\\zip\\myfigs.zip") // 创建文件输出流,并打开zip文件 CheckedOutputStream checksum = new

CheckedOutputStream(dest,new Adler32())// 创建过滤流,并验证数据的完整性

ZipOutputStream out = new

ZipOutputStream(new

BufferedOutputStream(checksum)) // 创建压缩文件输出流,并传入参数

//out.setMethod(ZipOutputStream.DEFLATED)

byte data[] = newbyte[BUFFER] // 创建字节数组

// get a list of files fromcurrent directory

File f = newFile(".")// 创建File变量读取根目录用于文件的读写

String files[] = f.list()// 读取f文件夹下所有的文件名

for (int i=0i <files.lengthi++) { // 根据文件名的数量进行循环

System.out.println("Adding: "+files[i])// 打印出添加的文件名到控制台

FileInputStream fi = new

FileInputStream(files[i])// 创建文件读取流,读取当前循环到的文件

origin = new

BufferedInputStream(fi, BUFFER)// 把文件流放入带有缓冲区的inputstream,并指定缓冲区大小

ZipEntry entry = newZipEntry(files[i])// 创建zip压缩入口实例化,放入当前循环到的文件

out.putNextEntry(entry)// 输出流中放入压缩的文件

int count

while((count =origin.read(data, 0,

BUFFER)) != -1) {// 当count值等于缓冲区读取的数据字节大小,且不等于-1

out.write(data, 0,count)// 输出流写入count字节大小的数据

}

origin.close()// 关闭带有缓冲区的inputstream

}

out.close()// 关闭输出流

System.out.println("checksum:

"+checksum.getChecksum().getValue())// 打印验证压缩文件的值到控制台

} catch(Exception e) { // 捕捉异常

e.printStackTrace()// 打印异常信息

}

}

}

在学java一定要问问自己喜欢吗?只要喜欢一切没问题,这是我的建议:多敲代码,多敲代码,多敲代码,重要的事情说三遍

学习Java决不能听完敲一遍就过,一定要多敲几遍,第一遍可以跟着老师的思路,后面一定要有自己的思路,慢慢培养自己的编程思想和实现功能的逻辑。甚至可以自己给自己出题,完全靠自己实现一些有意思的小功能,对提升自己的能力和代码熟练度都有不小的帮助。

多看视频,多练习,主要是练习一些算法的运用,建议下载一些编程练习题,一道一道弄通弄懂。经常做笔记,用记事本把一些经典问题保存下来,以备复习。

如果是零基础的话,就看视频,b站上高旗老师讲得不错,每看到视频出现一段代码就马上在电脑上给他跑出来,不要直接拿源码光盘来复制,不要把视频看完半段了才开始敲代码。这样几天后你会找到一些感觉,然后没事就想些代码来写写,比如想下怎样把名字转换成乱码,然后再用另一个方法转换回来,模拟步话机发送几条消息什么的。这样下去不出3月你定牛逼,这时再把教材拿出来仔细看每一句话,掌握原理。

希望你早日学成,有苦恼一起讨论一下。

1,java中的每个类构造的时候都会调用父类的无参构造

2,如果该父类没有无参构造,就必须在第一行用super(...)来调用父类的某个构造

3,这只是调用一个方法,并不构造一个对象