正在阅读:用JavaBean实现文件上载(四)方法用JavaBean实现文件上载(四)方法

2004-02-14 09:34 出处:eNet学院 作者:仙人掌工作室 责任编辑:pjl
现在,我们首先来看看提取文件内容的代码。   文件路径包含在“Content-Disposition”的后面。为提取文件路径和文件名字,doUpload方法调用了setFilename私有方法。setFilename方法提取出文件路径和文件名字信息,然后把它们赋值给filepath和filename域。调用setFilename方法之后,filename域应该不再是null。如果此时filename域仍旧是null,则说明遇到了问题,doUpload方法直接返回。 if (filename==null) return;   “Content-Disposition”行之后的下一行是内容类型行。因此,doUpload方法接着调用readLine方法,然后调用setContentType私有方法。setContentType方法和setFilename方法相似,它从原始字节数据中提取出上载文件的内容类型并保存到contentType域。   紧接内容类型行的下一行是空行,因此程序再调用了一次readLine方法。 i = in.readLine(line, 0, 128);   接下来开始了真正的文件内容。我们先应该做好通过PrintWriter对象把文件写入磁盘的准备。 PrintWriter pw = new PrintWriter(new BufferedWriter( new FileWriter( ( savePath==null? "" : savePath ) + filename )));   上载文件保存到哪个位置取决于savePath域是否已经设置。如果savePath域没有设置,它的值是null,则文件将被保存到默认目录;如果savePath域已经设置,它的值不是null,则上载的文件被保存到它所指定的目录。   然后我们就可以提取文件的内容。具体方法是使用while循环,每次循环读入一行内容并通过PrintWriter的输出方法把它写入磁盘。但我们知道,文件的最后一行包含两个回车换行符号,所以保存到磁盘的字节数据不应该包含这两个字符。因此,如果读入的行不是文件的最后一行,我们把所有读到的字节数据写入磁盘;如果读入的行已经是文件的最后一行,写入磁盘的字节数据要减去最后两个字符。
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品