2011-08-04 23 views
6

Tôi có một lớp có thuộc tính tài nguyên thuộc loại Tài nguyên vào mùa xuân (org.springframework.core.io.Resource), có đối tượng tệp làm đầu vào.Cách chuyển đổi Chuỗi thành Tài nguyên Xuân

setResource(Resource resource) 
    { 
    this.resource = resource; 
    } 

Tuy nhiên, tôi đang đọc tài liệu từ xa thông qua API tùy chỉnh khác trả về nội dung của tài liệu dưới dạng Chuỗi.

String xml = document.getContent(); 

Tôi muốn chuyển xml này như Resource vào phương pháp setResource của tôi. Tuy nhiên, tôi không biết làm thế nào tôi có thể bỏ String thành Resource.

Bất kỳ ý tưởng nào ??

Trả lời

12

Bạn có thể tạo một ByteArrayResource từ String:

String xml = document.getContent(); 
Resource resource = new ByteArrayResource(xml.getBytes()); 
setResource(resource); 
+0

Cảm ơn !! Điều đó đã giúp .. tại sao nó không được khuyến khích sử dụng setResource (new InMemoryResource (xml)) ?? –

+1

@Nikunj: Bởi vì 'InMemoryResource' không phải là một phần của Spring, nó là một phần của Spring Security. nếu bạn có, mặc dù, sau đó nó sẽ làm việc tốt. – skaffman

+0

Cảm ơn bạn đã làm rõ !! –

Các vấn đề liên quan