Приложение не читает входные текстовые файлы

Я успешно развернул приложение Java EE для openshift с помощью tomcat7. Я развернул файл войны и загрузил страницу приветствия, но когда мое приложение пытается прочитать входной файл .txt в приложение, он не может его найти. Любая помощь будет оценена.

Мои входные файлы (2) находятся в папке /WEB -INF в моем проекте в eclipse.

Это мой соответствующий код из моего сервлета загрузки:

    public void doPost(HttpServletRequest req,
        HttpServletResponse resp) throws ServletException, IOException {

        //  11 lines of code setting strings according to input parameters
        //  from startup jsp which has forms for submitting operations

        if ("Dates and Draws".equals(dates))  {

            Powerball p = new Powerball();
            Megamillions m = new Megamillions();

            String path = this.getServletConfig().getServletContext().getRealPath("/WEB-INF");

            p.appPath = path; // appPath is a class variable
            m.appPath = path;

            p.readnums(req, resp);  // App is not reading input files in readnums methods

            m.readnums(req, resp);



            try  {

                // code for output using readnums methods, reading input files

                } finally {


                }


        }
    }

Считывание сервлета Powerball (то же, что и чтение сообщений сервлета Megamillions)

    void readnums(HttpServletRequest req,
        HttpServletResponse resp) throws ServletException, IOException , FileNotFoundException {

        int i,j;
        String Temp;
        String [] Temp2 = new String [80];


        String path = appPath + "/powerballnumbers.txt";

        File file_check = new File (path);

        if (!file_check.exists()) {

            errorMessage = "Input file not found";  //This is what gets displayed

            resp.setContentType("text/html");
            PrintWriter out = resp.getWriter();


            out.println("<html>");
            out.println("<body>");
            out.println("<h3>" + errorMessage + "</h3>");
            out.println("<br><br>");

            out.println("<form action=\"Startup\" method=\"get\"");
            out.println("Go back to previous page: ");
            out.println("<br><br>");
            out.println("<input type=\"submit\" name=\"action\" value=\"Go Back to previous page\">");
            out.println("</form>");

            out.println("</body>");
            out.println("</html>");

            out.close();

            return;

        } else  {

            errorMessage = "";

        }


        draws = 1;

        BufferedReader br = null;

        br = new BufferedReader (new FileReader(new File(path)));

        while ((Temp = br.readLine()) != null) {

            if (Temp.isEmpty()) break;

            Temp2 = Temp.split("\\s+");

            int LastNonEmpty = -1;

            for (i = 0; i < Temp2.length; i++) {

                if (Temp2[i] != "") {

                    LastNonEmpty += 1;

                    Temp2[LastNonEmpty] = Temp2[i];

                }

            }

            drawdate [draws] = Temp2 [0];

            j = 1;

            for (i = 1; i <= 5; i++) {

                Temp = Temp2 [j];

                nums [draws][i] =  Integer.parseInt(Temp); // nums is class variable

                j ++;
            }

            Temp = Temp2 [6];

            xball [draws] =  Integer.parseInt(Temp); // xball is class variable

            draws++;
        }

        br.close();

        draws--;


    }

Ответы

Ответ 1

Убедитесь, что для атрибута unpackWARs установлено значение true в server.xml, иначе военный файл не будет расширен, и Tomcat не сможет найти ваш файл.