strut2 文件上传
原理:将一个文件复制到另一文件中。
这里给出action的代码,其它页面省略:
package cn.itcast.action; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import com.opensymphony.xwork2.ActionSupport; public class FileUploadAction extends ActionSupport{ //文件拷贝函数 //src表示源文件,dst表示目标文件 public void copy(File src,File dst) throws Exception{ //定义一个输入流对象,使用缓冲类需要提供一个输入流对象 InputStream in = new BufferedInputStream(new FileInputStream(src)); OutputStream out = new BufferedOutputStream(new FileOutputStream(dst)); //声明一个字节数组,用来存储读入的数据 byte[] b = new byte[1024]; int length=0; //循环读取输入流对象,把输入流读到字节数组中,返回读取的字节数长度,如果读到末尾则返回-1 while(-1!=(length=in.read(b))){ out.write(b);//讲字节数组的数据写到输出流文件中. } }
//方法二:
public void copy2(File src,File dst) throws Exception{
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dst);
byte[] b = new byte[1024];
int len = 0;
while((len=in.read(b))!=-1){
out.write(b);
}
} public static void main(String args[]){ File image = new File("C:\\bb.jpg"); //假设这个是要上传的文件 File image2 = new File("C:\\bb2.jpg");//这个表示上传到服务端的文件 FileUploadAction fileUploadAction = new FileUploadAction(); try { fileUploadAction.copy(image, image2); } catch (Exception e) { e.printStackTrace(); } } }
文件上传的方式有很多,原理就是文件的复制。从输入流中复制到输出流中。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。