新建
ex4_14.jsp
<%@ page contentType="text/html; charset=gb2312"
language="java"
import="java.util.*"
pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
String str=response.encodeURL("acceptFile.jsp");
%>
<p>
选择要上传的文件
</p>
<form action="<%=str %>"
method="post" enctype="multipart/form-data">
<input type=file name="boy"
size="45">
<br>
<input type="submit" name="g"
value="
提交
">
</form>
</body>
</html>
acceptFile.jsp
<%@ page contentType="text/html; charset=gb2312"
language="java"
import="java.util.*"
pageEncoding="gb2312"%>
<%@ page import="java.io.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
String fileName=null;
try{
String
tempFileName=(String)session.getId();
File f1=new
File("D:/test",tempFileName);
FileOutputStream o=new
FileOutputStream(f1);
InputStream in=request.getInputStream();
byte b[]=new
byte[10000];
int n;
while((n=in.read())!=-1){
o.write(b,0,n);
}
o.close();
in.close();
RandomAccessFile
random=new RandomAccessFile(f1,"r");
int second=1;
String secondLine=null;
while(second<=2){
secondLine=random.readLine();
second++;
}
//
获取第
2
行中目录符号
'/'
出现的位置
int
position=secondLine.lastIndexOf('//');
fileName=secondLine.substring(position+1,secondLine.length()-1);
random.seek(0);
long forthEndPosition=0;
int forth=1;
while((n=random.readByte())!=-1&&(forth<=4)){
if(n=='/n'){
forthEndPosition=random.getFilePointer();
forth++;
}
}
byte
cc[]=fileName.getBytes("ISO-8859-1");
fileName=new String(cc);
File f2=new
File("D:/test",fileName);
session.setAttribute("Name",fileName);
RandomAccessFile
random2=new RandomAccessFile(f2,"rw");
random.seek(random.length());
long endPosition=random.getFilePointer();
long mark=endPosition;
int j=1;
while((mark>=0)&&(j<=6)){
mark--;
random.seek(mark);
n=random.readByte();
if(n=='/n'){
endPosition=random.getFilePointer();
j++;}
}
random.seek(forthEndPosition);
long
startPoint=random.getFilePointer();
while(startPoint<endPosition-1)
{
n=random.readByte();
random2.write(n);
startPoint=random.getFilePointer();
}
random2.close();
random.close();
f1.delete();
}
catch(IOException ee){}
out.print("
文件上传
");
out.print("fileName");
%>
<p>
查看效果
</p>
<%
String
str=response.encodeURL("show.jsp");
%>
<form action="<%=str%>" >
<input type="submit" value="
查看
">
</form>
</body>
</html>