當前位置:編程學習大全網 - 編程語言 - 誰能幫我寫壹下這個java程序的註釋

誰能幫我寫壹下這個java程序的註釋

import java.io.*;

import java.net.*;

import java.util.*;

class Webserver {

public static void main(String arg[]) throws Exception {

String requestMessageLine; //請求信息的壹行信息

String filename; //文件名

ServerSocket listenSocket = new ServerSocket(2222); //創建個服務端的Socket,端口為:2222

Socket connectionSocket = listenSocket.accept(); //監聽並接受客戶端

BufferedReader inFromClient = new BufferedReader(new InputStreamReader(

connectionSocket.getInputStream())); //根據socket輸入流,創建個緩沖讀取的對象

DataOutputStream outToClient = new DataOutputStream(connectionSocket

.getOutputStream()); //根據socket輸入流,創建個數據輸出流,返回客戶端的。

requestMessageLine = inFromClient.readLine(); //讀取第壹行信息

StringTokenizer tokenizerLine = new StringTokenizer(requestMessageLine); //將第壹行信息轉換成StringTokenizer對象

if (tokenizerLine.nextToken().equals("GET")) { //如果遇到"GET"

filename = tokenizerLine.nextToken(); //將下壹個值賦值給filename

if (filename.startsWith("/") == true) //如果filename中有/

filename = filename.substring(1); //去掉/

File file = new File(filename); //根據文件名創建個文件對象

int numOfBytes = (int) file.length(); //獲得到這個文件的大小

FileInputStream inFile = new FileInputStream(filename); //創建這個文件的輸入流

byte[] fileInBytes = new byte[numOfBytes]; //定義個文件大小的字節數組

inFile.read(fileInBytes); //將文件讀入到字節數組中

outToClient.writeBytes("HTTP/1.0 200 Document Follows\r\n"); //將字符返回給客戶端

if (filename.endsWith(".jpg")) //如果文件是jpg格式的

outToClient.writeBytes("Content-Type:image/jpeg\r\n"); //將文件類型jpeg發送給客戶端

if (filename.endsWith(".gif")) //如果文件是gif格式的

outToClient.writeBytes("Content-Type:image/gif\r\n"); //將文件類型gif發送給客戶端

outToClient.writeBytes("Content-Length:" + numOfBytes + "\r\n"); //將文件大小發送給客戶端

outToClient.writeBytes("\r\n"); //換行

outToClient.write(fileInBytes, 0, numOfBytes); //將文件的字節流形式發送給客戶端

connectionSocket.close(); //關閉socket

} else

System.out.println("Bad Resquest Message"); //如果請求信息中沒有“GET”,控制臺輸出此信息

}

}

  • 上一篇:菜雞玩家如何變身吃雞大神?
  • 下一篇:臺灣依然是Google Play全球前五大市場 更偏好遊玩手機遊戲
  • copyright 2024編程學習大全網