2011-11-04 38 views
11
File lstFile = new File(lstFileName).withWriter{out-> 
      archivedFiles.each {out.println it.name} 
} 

archivedFiles được một danh sách các đối tượng .. Tôi nhận được một lỗi mà nói:Groovy viết ra danh sách vào một tập tin

Cannot cast object with class 'java.util.ArrayList' to class 'java.io.File'. 

Tôi chỉ quan tâm đến việc viết ra tên tập tin chứa trong danh sách công việc mới được tạo ra tập tin

Trả lời

16

đó là beacuse khối withWriter đang trở lại là điều cuối cùng trong khối theo mặc định (đó là danh sách archivedFiles)

Để làm những gì bạn đang cố gắng t o làm gì, bạn sẽ cần phải làm:

File lstFile = new File(lstFileName) 
lstFile.withWriter{ out -> 
    archivedFiles.each {out.println it.name} 
} 

hay này nên làm việc quá:

File lstFile = new File(lstFileName).with { file -> 
    file.withWriter{ out -> 
    archivedFiles.each {out.println it.name} 
    } 
    file 
} 
Các vấn đề liên quan