闂傚倸鍊搁崐宄懊归崶顒€违闁逞屽墴閺屾稓鈧綆鍋呭畷宀勬煛瀹€鈧崰鏍€佸☉妯峰牚闁告劗鍋撳В澶嬩繆閻愵亜鈧垿宕曟繝姘闁跨噦鎷� (0) +1 闂傚倸鍊峰ù鍥х暦閸偅鍙忕€广儱鎷嬮崥瀣煕閳╁喚娈㈠ù纭锋嫹 (0) +1 闂傚倸鍊搁崐鎼佸磹閹间降鍋戦悗娑欋缚椤╂煡鏌i幋锝嗩棄缂佺媭鍨堕弻銊╂偆閸屾稑顏� (0) +1
闂傚倸鍊搁崐宄懊归崶顒€违闁逞屽墴閺屾稓鈧綆鍋呭畷宀勬煛瀹€鈧崰鏍€佸☉妯峰牚闁告劗鍋撳В澶嬩繆閻愵亜鈧垿宕曢弻銉ュ瀭闁秆勵殔閽冪喖鏌i弮鍥モ偓鈧柛瀣尭閳藉鈻嶉褌绨奸柟渚垮姂瀹曟儼顦柡鈧懞銉d簻闁哄洨鍋為ˉ鐐烘倵濮樼偓瀚�闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢妶鍡椾粡濡炪倖鍔х粻鎴犲閸ф鐓曢柟閭﹀灱閸ゅ鏌ら弶鎸庡仴闁哄本绋戦埥澶娾枎閹邦喚鈻忕紓鍌氬€风拋鏌ュ疾閻樿钃熼柣鏃傗拡閺佸秵绻濇繝鍌氭灓闁哄棭鍘奸—鍐Χ閸愩劌濮烽梺鐟板殩閹凤拷>>

正在阅读:用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的输出方法把它写入磁盘。但我们知道,文件的最后一行包含两个回车换行符号,所以保存到磁盘的字节数据不应该包含这两个字符。因此,如果读入的行不是文件的最后一行,我们把所有读到的字节数据写入磁盘;如果读入的行已经是文件的最后一行,写入磁盘的字节数据要减去最后两个字符。
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊搁崐椋庣矆娴h櫣绀婂┑鐘插€寸紓姘辨喐閺冨牄鈧線寮介鐐茶€垮┑锛勫仧缁垶寮悩缁樷拺闂侇偆鍋涢懟顖涙櫠閹绢喗鐓欐い鏃€顑欏ḿ鎰版煙瀹勭増鍤囩€规洏鍔嶇换婵嬪磼濞嗘劖鈻曟繝鐢靛Х椤h棄危閸涙潙纾婚柟鎹愵嚙缁狀垶鏌ㄩ悤鍌涘闂傚倸鍊搁崐鐑芥倿閿曞倸绠栭柛顐f礀绾惧潡鏌熼幆鐗堫棄缁惧墽绮换娑㈠箣濞嗗繒浠奸梺鍝勫閸庣敻骞冨鈧幃娆撳级閸喚褰戝┑鐐茬摠缁秶鍒掗幘璇茶摕婵炴垯鍩勯弫鍐煥濠靛棙顥犳い锔哄劦濮婃椽宕ㄦ繝鍐炬闂佺懓鍤栭幏锟�