SpringResource接口读书笔记_第1页
SpringResource接口读书笔记_第2页
SpringResource接口读书笔记_第3页
SpringResource接口读书笔记_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文件资源操作Resource接口:HKxlifiefandTypeMeihHoOfluidDesolpno«i1«EL<nLeALo*111(JDtiefrriintihiccki$ni危哂1卜forwla/鼻立u旭电,WfeW<<'R1«k-iiAh1¥4(SlirJT«I111V4KlilbJQrstea1帆Hiisibejfc«Wd1#uihih«-ivnRelum5rssoyrcEactualhExistsinpiriizalfcrrrStricetB«"5cr!>

2、tinnDF*'uma(SesalpG二口FarMsrescjrtetabeLsedFarerraraulpu.'unaring,rt1h作rescun?TilkUkJtFila1)Reiium白Filthankie用fIhl空瞳ww注3lri-区DllgrminRwforthis厘国81七队i4mim”i(>R»WmaURJhmnd§Igrlhusr$wrc«-WKL-rtnr.oiR&lumaURLharwlle"ormsscurce.卜ol.皿工sD.土MlRelumAtiffthei1hi9resource佗牌2口金

3、门邑ahandeanaenslre-amb4dlVMill13,0R刎umwhflh#i1h?s?nte吊gdlhi&rstomcccanba蹿中aDifiarmin#1h»iatt-mo巾FiMbnnwtono附加s晤Eourct.Spring提供了若干Resource接口的实现类,这些类可以轻松的加载不同类型的底层资源,并提供获取文件名、URL以及资源内容的操作方法。1. FileSystemResource:以文件系统绝对路劲的方式进行访问publicstaticvoidnain(Stzlcigf)axg3)StringfileFsth=*'Ci/Useis/A

4、dir.inistrator/Desttop/'test.txt"Raae-jre*frleRea-newFil程Sy3t£ir_R2自白nn也(Eli=Path):一2. ClassPathResource:pilbl1stat1cvoidmain(SpringI日工叮丹)fStringEilePatT="zootconrextxirl"ResourcefileRe=newCli5ifAthRe5ouTce(fileFath);Symteic,diit:.rEifitln|"荻取的文f牛名称:”4fil&Rea,gar.Fil

5、&nameQ);)I3. ServletContextResource:以Web应用跟路劲的方式进行访问/工直百H邙笠厚生址以F对于WebH等根匹役的下衣表示Kescurceres=newicatian1.'''YiEB-IhlF/tlaSSes/tQTlfT1;.1aUTdbrCres3.getFileriiTie(J);对于位于远程服务器(Web服务器或者FTP服务器)上的文件资源,可以通过UrlResource进行访问。ResourceUtils工具类,支持"classpath:"和"file:"的地址前缀,它能够从

6、指定的地址加载文件资源。Code:packagecom.thom.io;importjava.io.File;importorg.springframework.util.ResourceUtils;publicclassResourceUtilsExamplepublicstaticvoidmain(String口args)throwsThrowableFileclsFile=ResourceUtils.getFile("classpath:conf/file1.txt");System.out.println(clsFile.isFileO);StringhttpFil

7、ePath="file:D:/masterSpring/chapter23/src/conf/file1.txt"FilehttpFile=ResourceUtils.getFile(httpFilePath);System.out.println(httpFile.isFileO);本地化文件资源读取类:Spring提供LocalizedResourceHelper允许通过资源文件名称和本地化实体(Ex:Locale.CHINQ获取匹配的本地化文件资源并以Resource对象返回。Code:获取后径i18n目录下的,mesaage的本地化资源文件packagecom.th

8、om.io;importjava.util.Locale;importorg.springframework.core.io.Resource;importorg.springframework.core.io.support.LocalizedResourceHelper;publicclassLocaleResourceTestpublicstaticvoidmain(String口args)LocalizedResourceHelperlrHalper=newLocalizedResourceHelper。;/获取对应美国的本地化文件资源Resourcemsg_us=lrHalper.f

9、indLocalizedResource("i18n/message",".properties",Locale.US);/获取对应中国大陆的本地化文件资源Resourcemsg_cn=lrHalper.findLocalizedResource("i18n/message",".properties",Locale.CHINA);System.out.println("fileName(us):"+msg_us.getFilename();System.out.println("fi

10、leName(cn):"+msg_cn.getFilenameO);文件操作:通过Resource接口实现类加载到文件资源后,经常需要对文件资源进行读取、拷贝、转存等不同类型的操作。通常情况下使用FileCopyUtils类,他提供许多一步式的静态操作方法。ModifierendllypeMmlhEdridftauuip面nAala=VB3dunjT5pk.ii,JiXvCceftiemnknL口1lb日gb?妇amayk?IhEgoirltltI+g.c-OTTiJrtitiltOulpuLStreuimeoonterrtsMit-E髀aura?loin#gwriiCHjQ&

11、;LJisireamitili-t:Lilt口<1”Lil,H鼻!.dul)CoorcontonliofihibhwiinputFilltoIhfgiw*noutputwliirLWtPflfyi'TvpHlfltrf-M(1,窜中居tFFiFl#1141tierentenl'rnitrerwrInputETtres"!tcrhe-qlmn-Lrtpjt5fEa"iMS”LMl%fritmtjCourE10conkrtEnfifr»aRaadstbnthejiven十加中-i-cc>r&trin.ciiVTntermi)Ccp&

12、gt;EiecontenlE:l'retverscrngcrteghwn。呻ulrng.亡bytall已,1此/唯IfIJjil-irJCofjjhoconterrtsDftieInputFiiaFuwn/留匕arrgbjtell小'野酎kUOtn>LStfes5ccsfivEi*8n除niloiiri&汽rr可StrU-UFpT-vS'tE9L«MiJ«Eill)C(4jhoBnE3OTIfne帕日"俯MJSinn口Code:将文件内容拷贝到byte口中,将文件内容拷贝到String中、将文件内容拷贝到目标文件中packag

13、ecom.thom.io;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileReader;importjava.io.OutputStream;importorg.springframework.core.io.ClassPathResource;importorg.springframework.core.io.Resource;importorg.springframework.util.FileCopyUtils;publicclassFileCopyUtilsExamplepublicsta

14、ticvoidmain(Stringargs)throwsThrowableResourceres=newClassPathResource(conf/file1.txt”);/将文件内容拷贝到一个byte中bytefileData=FileCopyUtils.copyToByteArray(res.getFile();/将文件内容拷贝到一个String中StringfileStr=FileCopyUtils.copyToString(newFileReader(res.getFileO);/将文件内容拷贝到另一个目标文件FileCopyUtils.copy(res.getFile(),new

15、File(res.getFile().getParentO+7file2.txt“);/将文件内容拷贝到一个输出流中OutputStreamos=newByteArrayOutputStream。;FileCopyUtils.copy(res.getInputStream(),os);属性文件工具类:Spring提供的PropertiesLoaderUtils允许直接通过基于类路径的文件地址加载属性资源文件。pufaliG9taticvoidmain(Strine|args)throwsTOExiep*lent/®perties是位于类路径"F的文例Prnj

16、.t:LL±eaprojjd,Prirpciclz:iiUdder.lcdA12Frpert_":dbc.卜_口七二_1七$1',;Sjhten.ont.pnncln(props.ce3Froperti二.n二二叮e:_:-j卜;PropertiesLoaderUtils还可以直接从Resource对象中直接加载属性资源pr«L«cti4oroiLd1obdFf»p»r11(Ft*p«r11*ha口产JLaidpfor巾*intoIhtgMiiintlAnc4.特殊编码的文件资源:当使用Resource实现类架子啊文件资源时,默认采用操作系统的编码格式。此时如果文件资源采用了特殊的编码格式(UTF-8),则在读取资源内容时必须通过EncodeedResource指定编码格式,否则将会产生中文乱码的问题:Code:publicstaticvoiditainSmngarqsthrowsIOExcepn&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论