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

opencms at biberbeatz.de opencms at biberbeatz.de
Thu Oct 13 10:16:59 CEST 2005


Hi Alex,
perfect. Works fine.
Thanks for the reply.

Cheers,
Jan

Alexander Kandzior wrote:
> 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
>>



More information about the opencms-dev mailing list