Java servlet中的文件读取问题

Java servlet中的文件读取问题,java,servlets,Java,Servlets,我必须使用servlet读取文件。这是我正在使用的代码。但文件不是使用此代码读取的。始终打印文件包含空值-----------------: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { response.setContentType("text/html");

我必须使用servlet读取文件。这是我正在使用的代码。但文件不是使用此代码读取的。始终打印
文件包含空值-----------------

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);
}
使用以下代码。 有了这个,您就可以读取文件了

    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();
    }
File File=新文件(“文件路径”);
试一试{
if(file.exists()){
BufferedReader objBufferReader=新的BufferedReader(
新文件阅读器(文件));
ArrayList arrListString=新建ArrayList();
字符串sLine=“”;
int-iCount=0;
而((sLine=objBufferReader.readLine())!=null){
arrListString.add(sLine);
}
objBufferReader.close();
对于(iCount=0;iCount
使用以下代码。 有了这个,您就可以读取文件了

    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();
    }
File File=新文件(“文件路径”);
试一试{
if(file.exists()){
BufferedReader objBufferReader=新的BufferedReader(
新文件阅读器(文件));
ArrayList arrListString=新建ArrayList();
字符串sLine=“”;
int-iCount=0;
而((sLine=objBufferReader.readLine())!=null){
arrListString.add(sLine);
}
objBufferReader.close();
对于(iCount=0;iCount
救援:

java.net.URL getResource(java.lang.String路径) 抛出java.net.MalformedURLException

返回映射到给定路径的资源的URL

路径必须以/开头,并被解释为相对于当前上下文根,或相对于/META-INF/resources目录 web应用程序的/web-INF/lib目录中的JAR文件。 此方法将首先搜索web应用程序的文档根 对于请求的资源,在搜索任何JAR文件之前 在/WEB-INF/lib中。JAR文件在其中的顺序 /搜索的WEB-INF/lib未定义

如果要从web应用程序中的资源读取,请使用如上所示的路径。如果要从文件系统中读取,请使用文件IO(以及正确的文件名):
newfileinputstream(“D:/root.properties”)

来解救:

java.net.URL getResource(java.lang.String路径) 抛出java.net.MalformedURLException

返回映射到给定路径的资源的URL

路径必须以/开头,并被解释为相对于当前上下文根,或相对于/META-INF/resources目录 web应用程序的/web-INF/lib目录中的JAR文件。 此方法将首先搜索web应用程序的文档根 对于请求的资源,在搜索任何JAR文件之前 在/WEB-INF/lib中。JAR文件在其中的顺序 /搜索的WEB-INF/lib未定义

如果要从web应用程序中的资源读取,请使用如上所示的路径。如果要从文件系统读取,请使用文件IO(以及正确的文件名):
newfileinputstream(“D:/root.properties”)

请尝试上面的代码示例。我认为在您的代码中,找不到文件。请在上面的代码中提供文件路径,然后重试


请尝试上面的代码示例。我认为在您的代码中,找不到文件。请在上述代码中提供文件路径,然后重试。

检查您的文件路径和文件内容文件内容和文件路径是否正确您使用的是绝对路径吗?还有,是不是
D:/root.properties
(您似乎缺少斜杠)?您确定吗?“D/root.properties”是一个非常奇怪的路径值检查您的文件路径和文件内容文件内容和文件路径是否正确您使用的是绝对路径吗?还有,是不是
D:/root.properties
(您似乎缺少斜杠)?您确定吗?“D/root.properties”对于路径来说是一个非常奇怪的值