一个获取当前(服务器)机器的磁盘信息的一个小例子,用Servlet做的,实际效果如下图。

20140211235234

里面主要使用到File的listRoots()方法 、getAbsolutePath() 方法和 getPath()方法。

static File[] listRoots()
列出可用的文件系统根。
String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。
String getPath()
将此抽象路径名转换为一个路径名字符串。

以上资料来自Java 6 API。

获取当前服务器磁盘信息,下面是具体功能的实现代码

Servlet实现代码:

package com.bkybk.webdisk;

import org.apache.log4j.Logger;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DiskServlet extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * Logger for this class
	 */
	private static final Logger logger = Logger.getLogger(DiskServlet.class);

	/**
	 * Constructor of the object.
	 */
	public DiskServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=gb2312");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>简单网络硬盘</TITLE></HEAD>");
		out.println("  <BODY>");
		//listRoots() : 列出可用的文件系统根。返回的是一个File数组
		File[] root = File.listRoots();
		out.println("<br/>");
		out.println("服务器共" + root.length + "个磁盘");
		out.println("<br/>");
		for (File file : root) {
			//getAbsolutePath()如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与 getPath() 方法一样。
			out.println("<a href='#'>服务器磁盘:" + file.getAbsolutePath() + "</a>&nbsp;&nbsp;&nbsp;");
		}
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

	public void init(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		logger.info("正在读取服务器信息");
	}

}

web.xml 配置文件代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name>	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
    <servlet-name>DiskServlet</servlet-name>
    <servlet-class>com.bkybk.webdisk.DiskServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>DiskServlet</servlet-name>
    <url-pattern>/webdisk/DiskServlet.shtml</url-pattern>
  </servlet-mapping>

</web-app>

 

标签: 获取服务器磁盘信息, Java获取当前(服务器)机器的磁盘信息, 获取本地硬盘

添加新评论