Tôi muốn đọc một loạt tệp văn bản trong gói com.example.resources. Tôi có thể đọc một tập tin duy nhất sử dụng đoạn mã sau:Truy cập tệp trong thư mục cụ thể trong đường dẫn lớp bằng cách sử dụng Java
InputStream is = MyObject.class.getResourceAsStream("resources/file1.txt")
InputStreamReader sReader = new InputStreamReader(is);
BefferedReader bReader = new BufferedReader(sReader);
...
Có cách nào để có được danh sách các tập tin và sau đó vượt qua từng yếu tố để getResourceAsStream
?
EDIT: On gợi ý ramsinb tôi đã thay đổi mã của tôi như sau:
BufferedReader br = new BufferedReader(new InputStreamReader(MyObject.class.getResourceAsStream("resources")));
String fileName;
while((fileName = br.readLine()) != null){
// access fileName
}
Tôi muốn truy cập tệp trong classpath chứ không phải từ một thư mục cụ thể như tài nguyên C: \\. – Akadisoft
Có lẽ bạn muốn điều này: http://stackoverflow.com/questions/3923129/get-a-list-of-resources-from-classpath-directory – nwaltham
Bạn có thể sử dụng lại mã này (sau khi sửa đổi nhỏ) http: // stackoverflow .com/questions/176527/how-can-i-enumerate-all-classes-in-a-package-và-them-them-to-a-list – CAMOBAP