精华内容
下载资源
问答
  • //获取服务器文件 File file = new File("/Users/Desktop/download/workcardphoto/"+fileName); InputStream ins = new FileInputStream(file); byte[] b = new byte[1024]; int len; while((len = ins.read...

    一、声明

    注意参数要有HttpServletResponse response并设置参数

    response.setContentType("application/application/vnd.ms-excel");
    response.setHeader("Content-disposition","attachment;filename=" + fileName);

    @RequestMapping(value = "downloadZip", method = RequestMethod.GET)
        public void downloadZip(HttpServletResponse response,String id) throws Exception {
            String fileName=workCardPhotoFileService.downloadZipFile(id);
            if (StringUtils.isNotEmpty(fileName)){
                response.setContentType("application/application/vnd.ms-excel");
                response.setHeader("Content-disposition",
                        "attachment;filename=" + fileName);
                download(response.getOutputStream(),fileName);
            }
    
    
        }
     public void download(OutputStream os, String fileName) throws IOException {
            //获取服务器文件
            File file = new File("/Users/Desktop/download/workcardphoto/"+fileName);
    
            InputStream ins = new FileInputStream(file);
            byte[] b = new byte[1024];
            int len;
            while((len = ins.read(b)) > 0){
                os.write(b,0,len);
            }
            os.flush();
            os.close();
            ins.close();
        }

    结束~感谢观看

    展开全文
  • Java获取Web服务器文件

    2016-02-16 14:57:00
    Java获取Web服务器文件 如果获取的是服务器上某个目录下的有关文件,就相对比较容易,可以设定死绝对目录,但是如果不能设定死绝对目录,也不确定web服务器的安装目录,可以考虑如下两种方式: 方法一:先获取...

    Java获取Web服务器文件

    如果获取的是服务器上某个目录下的有关文件,就相对比较容易,可以设定死绝对目录,但是如果不能设定死绝对目录,也不确定web服务器的安装目录,可以考虑如下两种方式:

    1. 方法一:先获取web服务器当前绝对位置,然后拼接相对目录

    考虑到java web项目一般会采用strust2来做,所以可以使用ServletActionContext.getServletContext().getRealPath("")来获取当前的web服务器绝对路径。再拼接相对位置即可,总的程序示例如下:

    public InputStream getFileStream() throws Exception{
        System.out.println(filename);
        String realPath = ServletActionContext.getServletContext().getRealPath("");
        System.out.println("realPath:"+realPath);
        return new FileInputStream(realPath+filename);
    }
    
    1. 方法二:通过webURL地址才获取文件

    因为不管web服务器安装在什么位置,其对外显示的URL地址总是不变的,如http://xx.xx.xx.xx/xx 那么要返回http://xx.xx.xx.xx/xx/xx.doc 文件的话,可以采用如下方式,没有做过实验,不过类似于网络爬虫中的文件获取。

    URL url = new URL(urlString); 
    URLConnection conn = url.openConnection();  
    BufferedReader reader = new BufferedReader(new InputStreamReader(conn. 
    getInputStream()));  
    

    获取网络流后再返回文件流1

    转载于:https://www.cnblogs.com/ximencuixue/p/5192736.html

    展开全文
  • Java SSH获取服务器文件内容

    千次阅读 2016-09-18 16:01:04
    需要导入jar:j2ssh-core-0.2.9.jarimport java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.OutputStream...

    需要导入jar:j2ssh-core-0.2.9.jar

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.OutputStream;
    
    import com.sshtools.j2ssh.SshClient;
    import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
    import com.sshtools.j2ssh.authentication.PasswordAuthenticationClient;
    
    public class GetMes {
    
        public void getMessage(String path) {
            String ip = "";
            String catalogue = "";
            String filename = "";
            ip = path.substring(0, path.indexOf("#"));
            catalogue = path.substring(path.indexOf("#") + 1, path.lastIndexOf("/") + 1);
            filename = path.substring(path.lastIndexOf("/") + 1);
            SshClient client = new SshClient();
            try {
                client.connect(ip, 22);
                // 设置用户名和密码
                PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();
                pwd.setUsername("a");
                pwd.setPassword("a");
                int result = client.authenticate(pwd);
                if (result == AuthenticationProtocolState.COMPLETE) {// 如果连接完成
                    OutputStream os = new FileOutputStream("d:/mail/" + filename);
                    client.openSftpClient().get(catalogue + filename, os);
                    File file = new File("d:/mail/" + filename);
                    if (!file.exists()) {
                        file.createNewFile();
                    }
                    BufferedReader reader = null;
                    try {
                        reader = new BufferedReader(new FileReader(file));
                        reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    } finally {
                        if (reader != null) {
                            try {
                                reader.close();
                            } catch (IOException e1) {
                            }
                        }
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public static void main(String[] args) {
            // 这里的path是我自己约定的ip#catalogue的形式,
            // 如果形式不同,方法体截取的方法只需做对应的修改即可。
            String path = "10.100.133.11#/app/a.txt";
            GetMes get = new GetMes();
            get.getMessage(path);
        }
    }
    展开全文
  • java获取服务器信息

    千次阅读 2017-01-16 10:42:51
    java获取服务器信息需要用到sigar.jar,但该jar在linux下依赖于libsigar-amd64-linux.so、libsigar-x86-linux.so。在window下依赖于sigar-amd64-winnt.dll、sigar-x86-winnt.dll。配置文件这存在这模拟系统命名的...

    java获取服务器信息需要用到sigar.jar,但该jar在linux下依赖于libsigar-amd64-linux.so、libsigar-x86-linux.so。在window下依赖于sigar-amd64-winnt.dll、sigar-x86-winnt.dll。配置文件这存在这模拟系统命名的操作,可以通过这些系统命名来获取系统的参数。


    默认情况下是将依赖文件放在jdk下的lib包中,这样项目启动的时候会自动加载这些配置文件。但每个人使用就需要这么配置,太麻烦了,为了方便我们写一个公共类来优化这一问题。

    package com.dhcc.isccore.common.util;
    
    import java.io.File;
    
    import org.hyperic.sigar.Sigar;
    
    import com.dhcc.isccore.common.constant.IsccoreConstant;
    
    public class SigarUtils {
    	public final static Sigar sigar = initSigar();
    
    	public static Sigar initSigar() {
    		try {
    			File classPath = new File(IsccoreConstant.SIGAR_PATH);
    
    			String path = System.getProperty("java.library.path");
    			String sigarLibPath = classPath.getCanonicalPath();
    			// 为防止java.library.path重复加,此处判断了一下
    			if (!path.contains(sigarLibPath)) {
    				if (isOSWin()) {
    					path += ";" + sigarLibPath;
    				} else {
    					path += ":" + sigarLibPath;
    				}
    				System.setProperty("java.library.path", path);
    			}
    			return new Sigar();
    		} catch (Exception e) {
    			return null;
    		}
    	}
    
    	public static boolean isOSWin() {// OS 版本判断
    		String OS = System.getProperty("os.name").toLowerCase();
    		if (OS.indexOf("win") >= 0) {
    			return true;
    		} else
    			return false;
    	}
    }
    
    文件存放位置如下:



    jar依赖:

    <dependency>
    	<groupId>org.hyperic</groupId>
    	<artifactId>sigar</artifactId>
    	<version>1.6.5.132</version>
    </dependency>


    获取服务器信息的vo类定义:

    package com.dhcc.isccore.entity.serverinfo;
    
    import java.util.Date;
    import java.util.List;
    
    import org.hyperic.sigar.NetInterfaceConfig;
    
    public class ServerInfoVo {
    
    	private String serverIP;		//服务器IP
    	private String serverURL;		//服务器Url
    	private String serverType;		//服务器类型
    	private Date serverTime;		//服务器时间
    	
    	private String osName;			//操作系统名称
    	private String osVersion;		//操作系统版本
    	private String userName;		//用户名称
    	private String userHome;		//用户主目录
    	private String osTimeZone;		//操作系统时区
    	
    	private String memTotal;		//物理内存总量
    	private String memUsed;			//已使用的物理内存
    	private String memFree;			//物理内存剩余量
    	
    	private int cpuNum;				//cpu总数
    	private List<CpuInfoVo> cpuList;//cpu信息
    	
    	private int netNum;			//网卡总数
    	private List<NetInterfaceConfig> netList;	//网卡信息
    	
    	private String javaPath;		//java安路径
    	private String javaVendor;		//java运行时供应商
    	private String javaVersion;		//java版本
    	private String javaName;		//java运行时名称
    	private String jvmVersion;		//java虚拟机版本
    	private String jvmTotalMemory;	//java虚拟机总内存
    	private String jvmFreeMemory;	//java虚拟机剩余内存
    	
    	private String databaseType;	//数据库类型
    	private String databaseVersion;	//数据库类型
    	private String databaseDriver;	//数据库驱动
    	private String driverVersion;	//数据库驱动版本
    	private String jdbcUrl;			//数据库连接url
    	
    	public String getServerIP() {
    		return serverIP;
    	}
    	public void setServerIP(String serverIP) {
    		this.serverIP = serverIP;
    	}
    	public String getServerURL() {
    		return serverURL;
    	}
    	public void setServerURL(String serverURL) {
    		this.serverURL = serverURL;
    	}
    	public String getServerType() {
    		return serverType;
    	}
    	public void setServerType(String serverType) {
    		this.serverType = serverType;
    	}
    	public String getOsName() {
    		return osName;
    	}
    	public void setOsName(String osName) {
    		this.osName = osName;
    	}
    	public String getOsVersion() {
    		return osVersion;
    	}
    	public void setOsVersion(String osVersion) {
    		this.osVersion = osVersion;
    	}
    	public String getUserName() {
    		return userName;
    	}
    	public void setUserName(String userName) {
    		this.userName = userName;
    	}
    	public String getUserHome() {
    		return userHome;
    	}
    	public void setUserHome(String userHome) {
    		this.userHome = userHome;
    	}
    	public String getOsTimeZone() {
    		return osTimeZone;
    	}
    	public void setOsTimeZone(String osTimeZone) {
    		this.osTimeZone = osTimeZone;
    	}
    	public String getJavaVendor() {
    		return javaVendor;
    	}
    	public void setJavaVendor(String javaVendor) {
    		this.javaVendor = javaVendor;
    	}
    	public String getJavaVersion() {
    		return javaVersion;
    	}
    	public void setJavaVersion(String javaVersion) {
    		this.javaVersion = javaVersion;
    	}
    	public String getJavaName() {
    		return javaName;
    	}
    	public void setJavaName(String javaName) {
    		this.javaName = javaName;
    	}
    	public String getJvmVersion() {
    		return jvmVersion;
    	}
    	public void setJvmVersion(String jvmVersion) {
    		this.jvmVersion = jvmVersion;
    	}
    	public String getJvmTotalMemory() {
    		return jvmTotalMemory;
    	}
    	public void setJvmTotalMemory(String jvmTotalMemory) {
    		this.jvmTotalMemory = jvmTotalMemory;
    	}
    	public String getJvmFreeMemory() {
    		return jvmFreeMemory;
    	}
    	public void setJvmFreeMemory(String jvmFreeMemory) {
    		this.jvmFreeMemory = jvmFreeMemory;
    	}
    	public String getDatabaseType() {
    		return databaseType;
    	}
    	public void setDatabaseType(String databaseType) {
    		this.databaseType = databaseType;
    	}
    	public String getDatabaseVersion() {
    		return databaseVersion;
    	}
    	public void setDatabaseVersion(String databaseVersion) {
    		this.databaseVersion = databaseVersion;
    	}
    	public String getDatabaseDriver() {
    		return databaseDriver;
    	}
    	public void setDatabaseDriver(String databaseDriver) {
    		this.databaseDriver = databaseDriver;
    	}
    	public String getDriverVersion() {
    		return driverVersion;
    	}
    	public void setDriverVersion(String driverVersion) {
    		this.driverVersion = driverVersion;
    	}
    	public String getJdbcUrl() {
    		return jdbcUrl;
    	}
    	public void setJdbcUrl(String jdbcUrl) {
    		this.jdbcUrl = jdbcUrl;
    	}
    	
    	public Date getServerTime() {
    		return serverTime;
    	}
    	public void setServerTime(Date serverTime) {
    		this.serverTime = serverTime;
    	}
    	public String getJavaPath() {
    		return javaPath;
    	}
    	public void setJavaPath(String javaPath) {
    		this.javaPath = javaPath;
    	}
    	public int getCpuNum() {
    		return cpuNum;
    	}
    	public void setCpuNum(int cpuNum) {
    		this.cpuNum = cpuNum;
    	}
    	public List<CpuInfoVo> getCpuList() {
    		return cpuList;
    	}
    	public void setCpuList(List<CpuInfoVo> cpuList) {
    		this.cpuList = cpuList;
    	}
    	public int getNetNum() {
    		return netNum;
    	}
    	public void setNetNum(int netNum) {
    		this.netNum = netNum;
    	}
    	public List<NetInterfaceConfig> getNetList() {
    		return netList;
    	}
    	public void setNetList(List<NetInterfaceConfig> netList) {
    		this.netList = netList;
    	}
    	public String getMemTotal() {
    		return memTotal;
    	}
    	public void setMemTotal(String memTotal) {
    		this.memTotal = memTotal;
    	}
    	public String getMemUsed() {
    		return memUsed;
    	}
    	public void setMemUsed(String memUsed) {
    		this.memUsed = memUsed;
    	}
    	public String getMemFree() {
    		return memFree;
    	}
    	public void setMemFree(String memFree) {
    		this.memFree = memFree;
    	}
    	
    }
    

    获取服务器信息的实现类:

    public void findServerInfo(BaseAbstractDto baseAbstractDto){
    	try {
    		SigarUtils.initSigar();			//初始化动态库链接路径
    		ServerInfoDto dto = super.getExactlyDto(baseAbstractDto);
    		Properties props=System.getProperties();
    		HttpServletRequest request = ServletActionContext.getRequest();
    		Runtime runTime = Runtime.getRuntime();
    		InetAddress address = InetAddress.getLocalHost();
    			
    		//服务信息
    		ServerInfoVo serverInfoVo = new  ServerInfoVo();
    		InetAddress.getLocalHost().getHostAddress();
    		serverInfoVo.setServerIP(address.getHostAddress());
    		serverInfoVo.setServerURL(
    				request.getScheme()					//请求头
    				+"://" + address.getHostAddress() 	//服务器地址  
    				+ ":"   
    				+ request.getServerPort()        	//端口号  
    				+ request.getContextPath());      	//项目名称 
    		ServletContext application = request.getSession().getServletContext();
    		serverInfoVo.setServerType(application.getServerInfo());
    		serverInfoVo.setServerTime(new Date());
    			
    		//操作系统
    		serverInfoVo.setOsName(props.getProperty("os.name")+"  "+props.getProperty("os.arch"));
    		serverInfoVo.setOsVersion(props.getProperty("os.version"));
    		serverInfoVo.setUserName(props.getProperty("user.name"));
    		serverInfoVo.setUserHome(props.getProperty("user.home"));
    		Calendar cal = Calendar.getInstance();
    		TimeZone timeZone = cal.getTimeZone();
    		serverInfoVo.setOsTimeZone(timeZone.getDisplayName());
    			
    		//Cpu
    		Sigar sigar = new Sigar();
    	        CpuInfo cpuInfos[] = sigar.getCpuInfoList();
    	        serverInfoVo.setCpuNum(cpuInfos.length);
    	        CpuPerc cpuList[] = sigar.getCpuPercList();
    	        List<CpuInfoVo> cpuVoList = new ArrayList<CpuInfoVo>();
    	        for(int m=0;m<cpuList.length;m++){
    	        	CpuInfoVo cpuInfoVo = new CpuInfoVo();
    	        	cpuInfoVo.setCpuMhz(cpuInfos[m].getMhz());
    	        	String cpuIdle = String.format("%.2f",cpuList[m].getIdle()*100)+"%";
    	        	cpuInfoVo.setCpuLdle(cpuIdle);
    	        	String cpuCombined = String.format("%.2f",cpuList[m].getCombined()*100)+"%";
    	        	cpuInfoVo.setCpuCombined(cpuCombined);
    	        	cpuVoList.add(cpuInfoVo);
    	        }
    	        serverInfoVo.setCpuList(cpuVoList);
    	        
    	        //网卡信息
    	        String netInfos[] = sigar.getNetInterfaceList();
    	        List<NetInterfaceConfig> netList = new ArrayList<NetInterfaceConfig>();
    	        for(int i=0;i<netInfos.length;i++){
    	        	NetInterfaceConfig netInfo = sigar.getNetInterfaceConfig(netInfos[i]); 
    	        	if((NetFlags.LOOPBACK_ADDRESS.equals(netInfo.getAddress()))  	//127.0.0.1 
                            || (netInfo.getFlags() == 0)  							//标识为0
                            || (NetFlags.NULL_HWADDR.equals(netInfo.getHwaddr()))	//MAC地址不存在
                            || (NetFlags.ANY_ADDR.equals(netInfo.getAddress()))		//0.0.0.0
    	        			){
    	        		continue;
    	        	}
    	        	netList.add(netInfo);
    	        }
    	        serverInfoVo.setNetNum(netList.size());
    	        serverInfoVo.setNetList(netList);
    	        
    	        //物理内存
    	        Mem mem = sigar.getMem();  
    	        serverInfoVo.setMemTotal((mem.getTotal()/(1024*1024))+"M");
    	        serverInfoVo.setMemUsed((mem.getUsed()/(1024*1024))+"M");
    	        serverInfoVo.setMemFree((mem.getFree()/(1024*1024))+"M");
    	        
    		//java配置
    		serverInfoVo.setJavaPath(props.getProperty("java.home"));
    		serverInfoVo.setJavaVendor(props.getProperty("java.vendor"));
    		serverInfoVo.setJavaVersion(props.getProperty("java.version"));
    		serverInfoVo.setJavaName(props.getProperty("java.specification.name"));
    		serverInfoVo.setJvmVersion(props.getProperty("java.vm.version"));
    		serverInfoVo.setJvmTotalMemory((int)(runTime.totalMemory()/(1024*1024))+"M");
    		serverInfoVo.setJvmFreeMemory((int)(runTime.freeMemory()/(1024*1024))+"M");
    			
    			//数据库信息
    		findDatabase(serverInfoVo);
    		dto.setServerInfoVo(serverInfoVo);
    			
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    }
    
    //数据库连接信息
    public void findDatabase(ServerInfoVo serverInfoVo){
    	try{
    		PropertiesUtil propertiesUtil = PropertiesUtil.getInstance("hibernate.properties");//读取配置文件的连接信息
    		String driver = propertiesUtil.getProperty("jdbc.driver");
    		String jdbcUrl = propertiesUtil.getProperty("jdbc.url");
    		serverInfoVo.setJdbcUrl(jdbcUrl);
    		String username = propertiesUtil.getProperty("jdbc.username");
    		String password = propertiesUtil.getProperty("jdbc.password");
    		Class.forName(driver);
    		Connection con = (Connection) DriverManager.getConnection(jdbcUrl,username,password);
    		DatabaseMetaData metaData = (DatabaseMetaData) con.getMetaData();
    		serverInfoVo.setDatabaseType(metaData.getDatabaseProductName());
    		serverInfoVo.setDatabaseVersion(metaData.getDatabaseProductVersion());
    		serverInfoVo.setDatabaseDriver(metaData.getDriverName());
    		serverInfoVo.setDriverVersion(metaData.getDriverVersion());
    	}catch(Exception e){
    		e.printStackTrace();
    	}
    }
    

    显示效果如下:



    上诉方案主要讲解服务器信息的实现方法,不要全抄代码,部分无关紧要的代码并未上传,仅供参考,谢谢!



    展开全文
  • @Controller ... //文件服务器链接 @Value("http://emanager.wxcl.com/uploadapi") private String fileServerURL; @RequestMapping("/downloadReFileName/{orderId}") @Scope(value="prototy.
  • ![图片说明](https://img-ask.csdn.net/upload/202008/11/1597136941_731991.png) 获取ftp服务器文件修改日期最新的文件 如图,文件的名称不一致,需要根据文件的修改日期最新的csv,读取csv内容
  • 最近项目中有用到将图片及文件上传到服务器上,并实现从服务器获取文件以及删除服务器文件信息 二:编码 上传文件 /** * @Author: guwenhai * @Description: 图片上传 * @param file 文件信息 * @param ...
  • //获取文件服务器路径 import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax....
  • JAVA获取FTP文件列表

    热门讨论 2011-10-19 16:18:58
    JAVA获取FTP文件列表,功能齐全。包括:链接到服务器,上传文件到FTP服务器,从FTP服务器上下载文件并返回下载文件长度,返回FTP目录下的文件列表,删除FTP上的文件及目录,关闭链接。
  • import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.servlet.Se...
  • java获取文件服务器(真实)路径

    千次阅读 2020-03-22 09:46:46
    一. 什么是真实路径 真实路径也叫服务器路径。为什么叫服务器路径就是真实路径呢?举个例子,你在本地工作空间里存储着一份你的项目,同时你在你的服务器...在java中,我们使用servlet时,访问一个servlet代码,只...
  • java 获取服务器信息

    千次阅读 2013-05-31 13:44:59
    通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 1.下载sigar.jar ...比如windows32位操作系统需要将lib中sigar-x86-winnt.dll文件拷贝到java SDK目录的bin内 参考官方主页上的配置项。
  • Java编程中,如何从服务器获取文件大小? 以下示例演示如何从服务器获取文件大小。 package com.yiibai; import java.net.URL; import java.net.URLConnection; public class GettingFileSize { public...
  • java获取ftp服务器文件大小

    千次阅读 2013-02-26 20:25:38
    import java.io.BufferedReader; import java.io.DataInputStream; import java.io.InputStream; import java.io.InputStreamReader; import sun.net.ftp.FtpClient; @SuppressWarnings("restriction") p
  • java 获取服务器根目录

    千次阅读 2012-08-23 16:54:49
    项目中需要从一个模板里面读取信息, 那个模板文件该怎么放呢?...获取服务器的根目录 String templateurl = request.getSession().getServletContext().getRealPath("/WEB-INF/pe_template/PESurplusMaterial.xl
  • 通过java代码来实现获取ftp服务器指定目录下的文件列表。
  • 问题: java程序读取linux上服务器 目录和文件,如果目录或文件名称为中文时,会出现乱码。 解决方案:保持程序、服务器编码一致。例如UTF-8 1.首先 网站页面采用 UTF-8 编码, 在JSP中配置 ...
  • java获取远程文件

    2019-09-28 00:52:40
    我用的是smb协议 共享方式连接远程 Windows服务器 也可以用ftp 但要保证服务器是ftp的 连接Linux服务器可以用ssh 协议 新建一个res.properites连接 IP=10.61.28.56 SMB_MINGCHENG=smb://jichuzhongxin:...
  • 1、通过 import javax.servlet.ServletContext ...类获取web 服务器所在真实路径 public ActionForward execute( ActionMapping mapping, ActionForm actionform, HttpServletRequest reque...
  • 以前把程式发布的Server IP都写成一个IP-Config 文件中。 为了避免发布程式每次去更改IP-Config ,或是在...即自动获取服务器IP。看了很多function,比如   String serverIP = ServletActionContext.getReq...
  • windows系统上共享文件采用的SMB协议(不清楚的问度娘),该协议也用于打印机等。 java中需要实现访问windows的共享文件夹的思路如下: 需要先引jar包 ---jcifs 然后根据共享路径192.168.135.11/sharedFolder/ ...
  • 逻辑上一直想不通,我怎么能够获取不是本地服务器的资源呢,然后呈现在客户端上? 假如我目前有了相关的信息(比如说是服务器上某文件的路径),那么我要怎么根据这个信息到服务器上取然后实现在线阅读呢?html上要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,655
精华内容 1,062
关键字:

java获取服务器文件

java 订阅