代码如下:
//读取头文件前2行到16行;并计算他们每行的长度
myHttp=myGetHttp(ltt,mypageStr,mypageInt);
// for(int i=0;i<mypageStr.length;i++)
// {
// System.out.println(i+mypageStr[i]);
// }
//读取接收的文件名字
// System.out.println("=============="+mypageStr[12]);
String filename=mypageStr[12].substring(mypageStr[12].indexOf("filename")+10,mypageStr[12].length()-3);
String[] myname1=filename.split("\\\\");
String myname=myname1[myname1.length-1];
//读取文件的长度
String pageLengthStr=mypageStr[7].substring(16,mypageStr[7].length()-2);
int pageLength=Integer.parseInt(pageLengthStr);
pageLength=pageLength-(mypageInt[12]+mypageInt[13]+mypageInt[11]*2+mypageInt[14]+4);
//新建接收文件的名字,并开始接收
_file=new File("src/mybook/"+myname);
FileOutputStream fos = new FileOutputStream(_file);
int nowPagelength=ltt.length-myHttp;
//如果刚接收的in数据比原文件长的话 直接接收文件长度的数据
if(pageLength<nowPagelength)
{
System.out.println(pageLength);
fos.write(ltt,myHttp,pageLength);
}
//如果in的数据长度不够的话,先接收in里面所有数据文件长度
//在循环in再接收数据 直到把接收满文件的长度
else
{
while(true)
{
fos.write(ltt,myHttp,nowPagelength);
pageLength=pageLength-nowPagelength;
myHttp=0;
in=new DataInputStream(sock.getInputStream());
ltt=new byte[in.available()];
in.read(ltt);
nowPagelength=ltt.length;
if(pageLength<nowPagelength)
{
nowPagelength=pageLength;
fos.write(ltt,myHttp,nowPagelength);
break;
}
}
}
fos.flush();
fos.close();
5.5 显示文件
刚刚上传的文件是在网页上会显示:大学四年规划演讲稿
代码如下:
File file=new File(Filename);
//查找文件夹信息
String myFilejia="src/mybook";
File myFile=new File(myFilejia);
String[] myfile=myFile.list();
String myFileList=new String();
for(int i=0;i<myfile.length;i++) {
上一页 [1] [2] [3] [4] [5] [6] [7]