「java怎么进行文件传输」java文件传输接口

博主:adminadmin 2022-11-26 08:29:07 105

今天给各位分享java怎么进行文件传输的知识,其中也会对java文件传输接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java中怎样上传文件

Java代码实现文件上传

FormFile file=manform.getFile(); 

  String newfileName = null;

  String newpathname=null;

  String fileAddre="/numUp";

  try {

   InputStream stream = file.getInputStream();// 把文件读入

    String filePath = request.getRealPath(fileAddre);//取系统当前路径

          File file1 = new File(filePath);//添加了自动创建目录的功能

       ((File) file1).mkdir();   

    newfileName = System.currentTimeMillis()

     + file.getFileName().substring(

       file.getFileName().lastIndexOf('.'));

   ByteArrayOutputStream baos = new ByteArrayOutputStream();

   OutputStream bos = new FileOutputStream(filePath + "/"

     + newfileName);

   newpathname=filePath+"/"+newfileName;

   System.out.println(newpathname);

   // 建立一个上传文件的输出流

    System.out.println(filePath+"/"+file.getFileName());

   int bytesRead = 0;

   byte[] buffer = new byte[8192];

   while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {

    bos.write(buffer, 0, bytesRead);// 将文件写入服务器

   }

   bos.close();

   stream.close();

    } catch (FileNotFoundException e) {

   e.printStackTrace();

  } catch (IOException e) {

   e.printStackTrace();

  }

JAVA 传输文件

//以前写的一个文件传输的小程序,有客户端和服务器端两部分,服务器可//以一直运行,客户端传输完一个后退出,当然你也可以根据你的需要改。

//服务器端可以支持多个客户端同时上传,用到了多线程

/**

* 文件传输,客户端

* @aurth anyx

*/

//package per.anyx.ftp;

import java.net.*;

import java.io.*;

public class FtpClient{

public static void main(String[] args){

if(args.length != 3){

System.out.println("Usage: FtpClient host_add host_port src_file");

System.exit(0);

}

File file = new File(args[2]);

if(!file.exists() || !file.isFile()){

System.out.println("File \"" + args[2] + "\" does not exist or is not a normal file.");

System.exit(0);

}

Socket s = null;

FileInputStream in = null;

OutputStream out = null;

try{

s = new Socket(args[0], Integer.parseInt(args[1]));

in = new FileInputStream(file);

out = s.getOutputStream();

byte[] buffer = new byte[1024*8];

int len = -1;

System.out.println("File tansfer statr...");

while((len=in.read(buffer)) != -1){

out.write(buffer, 0, len);

}

System.out.println("File tansfer complete...");

}catch(Exception e){

System.out.println("Error: " + e.getMessage());

System.exit(1);

}finally{

try{

if(in != null) in.close();

if(out != null) out.close();

if(s != null) s.close();

}catch(Exception e){}

}

}

}

/**

* 文件传输,服务器端

* @aurth anyx

*/

//package per.anyx.ftp;

import java.net.*;

import java.io.*;

public class FtpServer{

public static void main(String[] args){

if(args.length != 1){

System.out.println("Usage: FtpServer server_port");

System.exit(0);

}

ServerSocket ss = null;

try{

ss = new ServerSocket(Integer.parseInt(args[0]));

System.out.println("FtpServer start on port ..." + args[0]);

while(true){

Socket s = ss.accept();

new FtpThread(s).start();

System.out.println(s.getInetAddress().getHostAddress() + " connected.");

}

}catch(Exception e){

System.out.println("Error: " + e.getMessage());

}finally{

try{

if(ss != null) ss.close();

}catch(Exception e){}

}

}

}

class FtpThread extends Thread{

Socket s;

long fileName = 0;

public FtpThread(Socket s){

this.s = s;

}

public void run(){

FileOutputStream out = null;

InputStream in = null;

File file = null;

do{

file = new File("" + (fileName++));

}while(file.exists());

try{

out = new FileOutputStream(file);

in = s.getInputStream();

byte[] buffer = new byte[1024*8];

int len = -1;

while((len=in.read(buffer)) != -1){

out.write(buffer, 0, len);

}

}catch(Exception e){

System.out.println("Error: " + e.getMessage());

}finally{

try{

if(in != null) in.close();

if(out != null) out.close();

if(s != null) s.close();

System.out.println(s.getInetAddress().getHostAddress() + " connect closed..");

}catch(Exception e){}

}

}

}

java如何实现文件上传

public static int transFile(InputStream in, OutputStream out, int fileSize) {

int receiveLen = 0;

final int bufSize = 1000;

try {

byte[] buf = new byte[bufSize];

int len = 0;

while(fileSize - receiveLen bufSize)

{

len = in.read(buf);

out.write(buf, 0, len);

out.flush();

receiveLen += len;

System.out.println(len);

}

while(receiveLen fileSize)

{

len = in.read(buf, 0, fileSize - receiveLen);

System.out.println(len);

out.write(buf, 0, len);

receiveLen += len;

out.flush();

}

} catch (IOException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

}

return receiveLen;

}

这个方法从InputStream中读取内容,写到OutputStream中。

那么发送文件方,InputStream就是FileInputStream,OutputStream就是Socket.getOutputStream.

接受文件方,InputStream就是Socket.getInputStream,OutputStream就是FileOutputStream。

就OK了。 至于存到数据库里嘛,Oracle里用Blob。搜索一下,也是一样的。从Blob能获取一个输出流。

java怎么把文件传输到file

common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件

下面先介绍上传文件到服务器(多文件上传):

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

import java.util.regex.*;

import org.apache.commons.fileupload.*;

public class upload extends HttpServlet {

private static final String CONTENT_TYPE = "text/html; charset=GB2312";

//Process the HTTP Post request

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType(CONTENT_TYPE);

PrintWriter out=response.getWriter();

try {

DiskFileUpload fu = new DiskFileUpload();

// 设置允许用户上传文件大小,单位:字节,这里设为2m

fu.setSizeMax(2*1024*1024);

// 设置最多只允许在内存中存储的数据,单位:字节

fu.setSizeThreshold(4096);

// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录

fu.setRepositoryPath("c://windows//temp");

//开始读取上传信息

List fileItems = fu.parseRequest(request);

// 依次处理每个上传的文件

Iterator iter = fileItems.iterator();

//正则匹配,过滤路径取文件名

String regExp=".+////(.+)$";

//过滤掉的文件类型

String[] errorType={".exe",".com",".cgi",".asp"};

Pattern p = Pattern.compile(regExp);

while (iter.hasNext()) {

FileItem item = (FileItem)iter.next();

//忽略其他不是文件域的所有表单信息

if (!item.isFormField()) {

String name = item.getName();

long size = item.getSize();

if((name==null||name.equals("")) size==0)

continue;

Matcher m = p.matcher(name);

boolean result = m.find();

if (result){

for (int temp=0;tempERRORTYPE.LENGTH;TEMP++){

if (m.group(1).endsWith(errorType[temp])){

throw new IOException(name+": wrong type");

}

}

try{

//保存上传的文件到指定的目录

//在下文中上传文件至数据库时,将对这里改写

item.write(new File("d://" + m.group(1)));

out.print(name+" "+size+"");

}

catch(Exception e){

out.println(e);

}

}

else

{

throw new IOException("fail to upload");

}

}

}

}

catch (IOException e){

out.println(e);

}

catch (FileUploadException e){

out.println(e);

}

}

}

现在介绍上传文件到服务器,下面只写出相关代码:

以sql2000为例,表结构如下:

字段名:name filecode

类型: varchar image

数据库插入代码为:PreparedStatement pstmt=conn.prepareStatement("insert into test values(?,?)");

代码如下:

。。。。。。

try{

这段代码如果不去掉,将一同写入到服务器中

//item.write(new File("d://" + m.group(1)));

int byteread=0;

//读取输入流,也就是上传的文件内容

InputStream inStream=item.getInputStream();

pstmt.setString(1,m.group(1));

pstmt.setBinaryStream(2,inStream,(int)size);

pstmt.executeUpdate();

inStream.close();

out.println(name+" "+size+" ");

}

。。。。。。

这样就实现了上传文件至数据库

java中如何实现从客户端发送文件到服务器端

BufferedInputStream bis = new BufferedInputStream( new FileInputStream("文件路径"));

byte[] buf = new byte[1024];

int len = 0;

BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream);

while((len = bis.read(buf))!=-1){

bos.write(buf,0,len);

bos.flush();

}

思路是这样的了。。。具体你自己写吧。

java开发的信息系统里,jsp与java文件是怎么传递数据的?

jsp与java文件传递数据可以使用Servlet类来传递,jsp将数据存入到request对象中,Servlet类获取这个request对象,并将数据取出。学习java开发推荐选择千锋教育,一群草根奉献着自己的青春年华,为创造一个有真正社会价值的职业教育机构“千锋教育千锋教育”而奋力拼搏。

学习Java的优势:

1、Java广受欢迎:Java仍然是世界上最受欢迎的编程语言之一,有无限多种方法使用Java。在TIOBE多次公布的编程语言排行榜,Java领跑前三!

2、薪资可观:职业规划公司Gooroo在一份薪资和需求报告中指出,Java仍然是美国、英国和澳大利亚最受欢迎和薪资最高的编程语言之一。

3、Java程序员市场紧缺:据不完全统计,目前国内每年IT人才缺口达20万之多,而且缺口还在扩大,Java作为广泛使用的编程语言,拥有庞大的客户群,现有的人才储备还远远不够,在可预计的未来,Java程序员都将处于供小于求的状态。

4、Java无处不在:据估计,全球范围内有超过30亿部设备运行Java,超过其他任何一种语言。

5、优秀的开发工具:能够确保工作效率的优秀开发工具。

想要了解更多关于java开发的相关信息,推荐咨询千锋教育。千锋企合作部整合大量企业客户资源,紧抓当下企业需求,将技术和项目完美结合千锋课程体系,力求培养更多优质人才服务企业,不断提升学员竞争力,链接企业用人标准的培训课程及实战项目,让企业招聘用人的技术要求与千锋学员的技术充分对接。近年来不断引进阿里钉钉小程序技术、红帽认证、腾讯云、亚马逊等,通过与企业的深度融合实现千锋教研和就业服务的迭代升级,专业性值得信赖。

java怎么进行文件传输的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java文件传输接口、java怎么进行文件传输的信息别忘了在本站进行查找喔。

The End

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