新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java像素鸟代码注释 像素鸟源代码

java设计Bird(鸟),Fish(鱼)类,都继承自Animal(动物),实现其方法printInfo(),输出

package animal;

创新互联是工信部颁发资质IDC服务器商,为用户提供优质的四川主机托管服务

public class Animal {

String name="动物";

public void printInfo(){

System.out.println(name);

}

}

package animal;

public class Bird extends Animal{

String name="bird";

@Override

public void printInfo(){

System.out.println("我是:"+name);

}

}

package animal;

public class Fish extends Animal{

String name="fish";

@Override

public void printInfo(){

System.out.println("我是:"+name);

}

}

package animal;

public class Test {

public static void main(String[] args) {

Animal bird=new Bird();

bird.printInfo();

Animal fish=new Fish();

fish.printInfo();

}

}

java程序求注释

[1] MainThread类为服务端程序,运行过程中会生成SubThread线程去与客户端程序通讯

[2] Client类为客户端程序,让用户输入数据与服务端程序进行通讯

[3] 具体解释如下

[4] 已测试通过,笑纳^

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

/**

* [1]创建7777端口,循环等待客户端连接br

* [2]如果有客户端连接,生成一个socket对象,并生成一个子线程去处理接数据通讯br

*/

public class MainThread {

public MainThread() {

try {

ServerSocket ss = new ServerSocket(7777);// 以创建7777端口

System.out.println("服务器启动");

while (true) {

Socket socket = ss.accept();// 等待数据,如果没有数据会一直等待

new SubThread(socket).start();// 新建一个线程,将socket为参数传递过去,并启动此新线程

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* 服务端程序入口

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

// 创建MainThread类,实际上是调用MainThread类的构造函数

new MainThread();

}

}

import java.io.*;

import java.net.ServerSocket;

import java.net.Socket;

/**

* [1]由服务端主线程创建,用于与客户端数据通讯br

* [2]如果客户端发来的数据是以byebye开头的数据,则结束线程,否则将所收到的数据直接发送会给客户端br

*/

public class SubThread extends Thread {

byte[] buffer = new byte[256];// 数据缓冲区

private InputStream is;// 输入流

private OutputStream os;// 输出流

Socket socket;// socket套接字

public SubThread(Socket s) {

// 由MainThread类调用此函数

this.socket = s;// 接收socket参数

}

public void run() {

try {

is = socket.getInputStream();// 从socket中取得输入流

os = socket.getOutputStream();// 从socket中取得输出流

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

while (true) {

try {

int i = is.read(buffer);// 读取缓冲区的数据

String str = new String(buffer, 0, i);// 复制所读到的数据,保存为一个String

System.out.println("recieved:" + str);

if (str.startsWith("byebye"))

break;// 如果接收到的数据以"byebye"开头,就退出while循环,也就是退出线程

os.write(str.getBytes());// 如果是其他字符开头,则将数据直接回复给对方

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

import java.io.*;

import java.net.ServerSocket;

import java.net.Socket;

/**

* [1]连接服务端程序,也就是localhost的7777端口 br

* [2]接收用户输入数据,并发送给服务端 br

* [3]等待服务端返回数据br

* [4]输出服务端返回的数据br

*

* @author lenovo

*

*/

public class Client {

public Client() {

byte[] buffer = new byte[256];

try {

Socket socket = new Socket("localhost", 7777);// 连接localhost主机(就是本台电脑)的7777端口,生成socket对象

InputStream is = socket.getInputStream();// 从socket中取得输入流

OutputStream os = socket.getOutputStream();// 从socket中取得输出流

while (true) {

System.out.println("输入:");// 提示用户输入数据

int i = System.in.read(buffer);// 接收用户输入的数据

String str = new String(buffer, 0, i);// 复制用户输入的数据保存为一个String

os.write(str.getBytes());// 交数据发送到本机的7777端口

i = is.read(buffer);// 等待对方的返回

str = new String(buffer, 0, i);// 复制对方返回的数据保存为String

System.out.println("recieved:" + str);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* 客户端程序入口

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

// 新建Client类,实际是调用Client类的构造函数

new Client();

}

}

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

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=0; i files.length; i++) { // 根据文件名的数量进行循环

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像素鸟代码注释 像素鸟源代码
文章链接:http://wjwzjz.com/article/hhgdeh.html
在线咨询
服务热线
服务热线:028-86922220
TOP