java.io.FileNotFoundException?

时间:2011-03-17 09:32:25

标签: servlets

我编写了jsp的代码,用于在数据库中上传Doc文件的servlet。

这是我的代码,但我得到的错误是这样== java.io.FileNotFoundException:insert into resume(resume)values(?)(文件名,目录名或卷标语法不正确)。请帮我怎么删除这个错误???

           try
    {   

    Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
        con=DriverManager.getConnection("jdbc:jtds:sqlserver://W2K8SERVER:1433/career","sa","Alpha#123" );

        pst = con.prepareStatement("select * from data1 where email=? and password=?");   


        pst = con.prepareStatement
        ("insert into resume(resume) "+ "values(?)");

        File re = new File("" + pst);
        fis = new FileInputStream(re);
        pst.setBinaryStream(3, (InputStream)fis, (int)(re.length()));
        pst.setString (1,upload);


        //rs = pst.executeQuery();


        while (rs.next())
            cnt ++;

        int s = pst.executeUpdate();
        if(s>0) {
          System.out.println("Uploaded successfully !");
         }
        else {
        System.out.println("unsucessfull to upload image.");
          }
                    rs.close();
        pst.close();   
        con.close();
        }   

3 个答案:

答案 0 :(得分:0)

这是因为insert into resume(resume) values(?)可能不是磁盘上文件的名称。

  pst = con.prepareStatement ("insert into resume(resume) "+ "values(?)");
  File re = new File("" + pst);

您正在File创建""+ pst,这是toString()PreparedStatement被调用的结果。您是否放入""以摆脱信息性编译错误?

你可能在其他变量中有真实的文件名。

 File re = new File(theRealFileNameVariable);

答案 1 :(得分:0)

File re = new File("" + pst);

请确保“pst”值是有效的文件路径,显然值“插入恢复(恢复)值(?)”不是有效的文件路径

答案 2 :(得分:0)

java.io.File类有四(4)个构造函数

File(File parent, String child)
File(String pathname)
File(String parent, String child)
File(URI uri)

在您的情况下,您尝试将一个对象或类型java.sql.PreparedStatement传递给构造函数,并尝试强制转换为String。我没有看到(即使你到达将pst转换为字符串)pst将引用文件的路径。请回过头来阅读一下java.io。