2009-11-20 31 views
5

Làm cách nào để biết tệp tham chiếu nào cần sử dụng để lấy tệp từ WAR của tôi.Làm cách nào để truy cập tệp văn bản từ trong chiến tranh của tôi

Cấu trúc của WAR là:

WAR
src
- mô hình
- web
build
    WebContent
        META-INF
        WEB-INF
            LIB

Các JSP dưới WebContent, tôi đã đặt file config.txt trong thư mục WebContent và cố gắng để có được nó với

BufferedReader in = new BufferedReader (FileReader mới ("WebContent/config.txt"));

Nhưng điều này không hiệu quả. Có ai biết những gì tôi cần tham khảo để vượt qua hoặc làm thế nào tôi có thể con số nó ra.

Trả lời

1

Một cách để thực hiện việc này đi kèm với lời nhắc nhở mà tôi sẽ giải thích bên dưới. Bạn nên làm một cái gì đó như thế này:

// In a Servlet 
ServletContext sc = getServletContext(); 
BufferedReader in = 
    new BufferedReader(new FileReader(sc.getRealPath("WebContent/config.txt")); 

này giả định rằng servlet container của bạn được cấu hình để mở rộng file chiến tranh vào cấu trúc thư mục tương ứng của họ.

+0

Có Tôi đang sử dụng Tomcat và nó mở rộng – Ankur

+0

Nhưng vì một lý do nào đó nó không hoạt động – Ankur

+0

Hãy nhìn nhận xét của ChssPly76 về câu trả lời của Asaph. Anh ấy đúng. –

2

Tôi nghĩ rằng chỉ cần loại bỏ WebContent khỏi đường dẫn trong khi đọc tệp và nó sẽ giúp ích. ..

-1

Cách an toàn nhất để truy cập vào tập tin này nên được một cái gì đó như thế này:

InputStream input = getClass() getClassLoader() getResourceAsStream ("bạn/path/nhập/ở đây");

+1

hoạt động với tài nguyên trong classpath, nhưng webcontent thì không. – Yevgeniy

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