[opencms-dev] CmsFile.getContents() method problem: transform toString

Alexander Kandzior alex at opencms.org
Thu Oct 13 09:47:49 CEST 2005


CmsObject#getFilesInFolder() returns CmsResource Objects not CmsFile
Objects.
Try it like this:

List filesInFolder = cms.getFilesInFolder("/sites/default/test");
CmsResource testRes = (CmsResource )filesInFolder.get(3);
CmsFile testFile = CmsFile.upgrade(testRes, cms);
String fileName = testFile.getName(); 
int lengthOfContents = testFile.getContents().length;


Best Regards,
Alex.

Alexander Kandzior
Alkacon Software - The OpenCms Experts
http://www.alkacon.com

 

> -----Original Message-----
> From: opencms-dev-bounces at opencms.org 
> [mailto:opencms-dev-bounces at opencms.org] On Behalf Of 
> opencms at biberbeatz.de
> Sent: Thursday, October 13, 2005 12:27 AM
> To: opencms-dev at opencms.org
> Subject: [opencms-dev] CmsFile.getContents() method problem: 
> transform toString
> 
> Hallo List,
> 
> I am developing a Java class that runs in the context of 
> OpenCms therefore I have access to the CmsObject. I want my 
> class to extract the content of a specific file. The file 
> contains plain text which I want to extract. I tried it with 
> different file types. Same result.
> 
> See my code snip.
> 
> The problem is that everythings works until I want to convert 
> the byte[] (is the return value of the getContents() method) 
> into String.
> The result of the transformation is an empty string.
> 
> API: http://synyx.de/api/opencms6.0.0/org/opencms/file/CmsFile.html
> 
> <snip>
> 
> CmsObject cms = OpenCms.initCmsObject("Guest"); 
> cms.loginUser("Admin", "admin"); List filesInFolder = 
> cms.getFilesInFolder("/sites/default/test");
> CmsFile testFile = (CmsFile) filesInFolder.get(3); String 
> fileName = testFile.getName(); int lengthOfContents = 
> testFile.getContents().length;
> 
> //returns an empty string, should be a string with the 
> contents of the file; also tried it without "UTF-8" encoding 
> String contentsInString = new String(testFile.getContents(), 
> "UTF-8"); //empty result System.out.println(contentsInString);
> </snip>
> 
> I have no idea why it does not work. I transformed several 
> byte arrays to string in other programs with the same 
> solution without any problems.
> 
> Maybe someone can help me or show me another solution to get 
> the content of a file.
> 
> I cannot use the CmsJspActionElement in some way in a normal 
> class (not a jsp and no servlet) or is there any way?
> 
> Thanks in advance,
> Jan
> 
> 
> _______________________________________________
> This mail is send to you from the opencms-dev mailing list To 
> change your list options, or to unsubscribe from the list, 
> please visit http://mail.opencms.org/mailman/listinfo/opencms-dev
> 
> 




More information about the opencms-dev mailing list