「java附件服务器」java游戏服务器开发

博主:adminadmin 2022-12-21 16:12:07 81

今天给各位分享java附件服务器的知识,其中也会对java游戏服务器开发进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 上传附件实现方法

第一,jsp上传页面内容:

%@ page contentType="text/html; charset=GBK" %

%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %

html

head

title

jsp1

/title

/head

body bgcolor="#ffffff"

html:form action="myupload.do" method="post" enctype="multipart/form-data"

html:file property="thisFile"/br

html:file property="thisFile"/br

html:submit/

/html:form

/body

/html

第二,一个javabean

package upload;

import org.apache.struts.action.ActionForm;

import org.apache.struts.upload.FormFile;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionMapping;

import javax.servlet.http.HttpServletRequest;

public class FileInfo extends ActionForm {

private FormFile thisFile;

public FormFile getThisFile() {

return thisFile;

}

public void setThisFile(FormFile thisFile) {

this.thisFile = thisFile;

}

public ActionErrors validate(ActionMapping actionMapping,

HttpServletRequest httpServletRequest) {

/** @todo: finish this method, this is just the skeleton.*/

return null;

}

public void reset(ActionMapping actionMapping,

HttpServletRequest servletRequest) {

}

}

第三,一个action

package upload;

import java.io.*;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionForm;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.Action;

import org.apache.struts.upload.FormFile;

public class myupload extends Action {

public ActionForward execute(ActionMapping actionMapping,

ActionForm actionForm,

HttpServletRequest request,

HttpServletResponse response) throws

FileNotFoundException, IOException {

FileInfo fileInfo = (FileInfo) actionForm;

//获取上传文件

FormFile f=fileInfo.getThisFile();

InputStream is=f.getInputStream();

//将文件存入服务器上

String filename=request.getSession().getServletContext().getRealPath("/shangchuan/"+f.getFileName());

OutputStream os=new FileOutputStream(filename);

int x=0;

//优化流处理过程

byte[] buffer = new byte[8192];

while((x=is.read(buffer, 0, 8192))!=-1)

{

os.write(buffer,0,x);

}

os.close();

response.sendRedirect("jsp1.jsp");//根据实际情况跳转

return null;

}

}

java怎么实现上传附件的功能

上传附件,实际上就是将文件存储到远程服务器,进行临时存储。举例:

**

* 上传文件

*

* @param fileName

* @param plainFilePath 文件路径路径

* @param filepath

* @return

* @throws Exception

*/

public static String fileUploadByFtp(String plainFilePath, String fileName, String filepath) throws Exception {

FileInputStream fis = null;

ByteArrayOutputStream bos = null;

FTPClient ftpClient = new FTPClient();

String bl = "false";

try {

fis = new FileInputStream(plainFilePath);

bos = new ByteArrayOutputStream(fis.available());

byte[] buffer = new byte[1024];

int count = 0;

while ((count = fis.read(buffer)) != -1) {

bos.write(buffer, 0, count);

}

bos.flush();

Log.info("加密上传文件开始");

Log.info("连接远程上传服务器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);

ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);

ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);

FTPFile[] fs;

fs = ftpClient.listFiles();

for (FTPFile ff : fs) {

if (ff.getName().equals(filepath)) {

bl="true";

ftpClient.changeWorkingDirectory("/"+filepath+"");

}

}

Log.info("检查文件路径是否存在:/"+filepath);

if("false".equals(bl)){

ViewUtil.dataSEErrorPerformedCommon( "查询文件路径不存在:"+"/"+filepath);

return bl;

}

ftpClient.setBufferSize(1024);

ftpClient.setControlEncoding("GBK");

// 设置文件类型(二进制)

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

ftpClient.storeFile(fileName, fis);

Log.info("上传文件成功:"+fileName+"。文件保存路径:"+"/"+filepath+"/");

return bl;

} catch (Exception e) {

throw e;

} finally {

if (fis != null) {

try {

fis.close();

} catch (Exception e) {

Log.info(e.getLocalizedMessage(), e);

}

}

if (bos != null) {

try {

bos.close();

} catch (Exception e) {

Log.info(e.getLocalizedMessage(), e);

}

}

}

}

备注:只需要修改上传的服务器地址、用户名、密码即可进行服务器访问上传。根据实际需要修改即可。

java附件上传功能,上传的附件要根据时间来重命名,上传的路径保存在服务器指定目录根据年月来分的目录里

如果使用框架的话,比如 struts ,就比较简单了

获取上传的时间:

Calendar cal = Calendar.getInstance();

String year = String.valueOf(cal.get(Calendar.YEAR));

String month = String.valueOf(cal.get(Calendar.MONTH));

获取路径:

String path = ServletActionContext.getServletContext().getRealPath("/"+year+"/"+month);

直接保存在 path 这个目录里面就可以

如果没有使用 框架,可以使用 FileUpload 这个 jar 包来上传文件

关于java附件服务器和java游戏服务器开发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。