divz
divz

Reputation: 7957

File reading issue in servlet

I have to read a file using servlet.here is the code iam using.but file is not reading using this code.Always printing File contains null value-----------------:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    try {
        response.setContentType("text/html");
        String filename = "D/root.properties";
        ServletContext context = getServletContext();

        InputStream inp = context.getResourceAsStream(filename);
        if (inp != null) {
            InputStreamReader isr = new InputStreamReader(inp);
            BufferedReader reader = new BufferedReader(isr);
            PrintWriter pw = response.getWriter();

            String text = "";

            while ((text = reader.readLine()) != null) {                     
            }
        } else {
            System.out.println("File contains null value-----------------");
        }
    } catch(Exception e) {
        System.out.println("Rxpn............................................."+e);
    }
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request,response);
}

Upvotes: 1

Views: 2357

Answers (3)

Jayashree Hegde
Jayashree Hegde

Reputation: 23

 public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws FileNotFoundException, IOException {
        FileInputStream file = new FileInputStream("c:\\hi.txt");
        DataInputStream input = new DataInputStream(file);
        BufferedReader br = new BufferedReader(new InputStreamReader(input));
        String text = "";
        while ((text = br.readLine()) != null) {
            System.out.println(text);
        }
    }
}

Please try the above code sample. I think in your code , file is not found. Please give the file path in the above code and try.

Upvotes: 0

JB Nizet
JB Nizet

Reputation: 691715

javadoc to the rescue :

java.net.URL getResource(java.lang.String path) throws java.net.MalformedURLException

Returns a URL to the resource that is mapped to the given path.

The path must begin with a / and is interpreted as relative to the current context root, or relative to the /META-INF/resources directory of a JAR file inside the web application's /WEB-INF/lib directory. This method will first search the document root of the web application for the requested resource, before searching any of the JAR files inside /WEB-INF/lib. The order in which the JAR files inside /WEB-INF/lib are searched is undefined.

If you want to read from a resource in the web app, use a path as indicated above. If you want to read from the file system, use file IO (and the correct file name): new FileInputStream("D:/root.properties")

Upvotes: 4

mevada.yogesh
mevada.yogesh

Reputation: 1128

Use following code. With this you can read file

    File file = new File("Filepath");

    try {
        if (file.exists()) {
            BufferedReader objBufferReader = new BufferedReader(
                    new FileReader(file));

            ArrayList<String> arrListString = new ArrayList<String>();
            String sLine = "";
            int iCount = 0;

            while ((sLine = objBufferReader.readLine()) != null) {
                arrListString.add(sLine);
            }
            objBufferReader.close();

            for (iCount = 0; iCount < arrListString.size(); iCount++) {
                if (iCount == 0) {
                    createTable(arrListString.get(iCount).trim());
                } else {
                    insertIntoTable(arrListString.get(iCount).trim());
                }
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

Upvotes: 0

Related Questions