Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.io.FileNotFoundException:在数据库中插入图像时,系统找不到指定的文件_Java - Fatal编程技术网

java.io.FileNotFoundException:在数据库中插入图像时,系统找不到指定的文件

java.io.FileNotFoundException:在数据库中插入图像时,系统找不到指定的文件,java,Java,代码: 我得到了以下错误: package com; import java.io.*; import java.sql.*; public class Sample { public static void main(String a[]){ Connection con = null; PreparedStatement ps = null; InputStream is = null; try { Class.forName("orac

代码:

我得到了以下错误:

package com;

import java.io.*;
import java.sql.*;

public class Sample {

public static void main(String a[]){
    Connection con = null;
    PreparedStatement ps = null;
    InputStream is = null;
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        con = DriverManager.getConnection("jdbc:oracle:thin:@172.26.132.40:1521:orclilp","aja60core","aja60core");
        ps = con.prepareCall("insert into SAMPLE values (?,?,?)");
        ps.setString(1, "Himanshu");
        ps.setString(2, "Gupta");
        is = new FileInputStream(new File("ajax-logo1.jpg"));
        ps.setBinaryStream(3, is);
        int count = ps.executeUpdate();
        System.out.println("Count: "+count);
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally{
        try{
            if(is != null) is.close();
            if(ps != null) ps.close();
            if(con != null) con.close();
        } catch(Exception ex){}
    }
}
}
java.io.FileNotFoundException:ajax-logo1.jpg(系统找不到指定的文件)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:138)
位于com.Sample.main(Sample.java:19)
当java解释器找不到文件时,会发生异常

表示有人试图打开由指定 路径名已失败

FileInputStream将引发此异常, FileOutputStream和RandomAccessFile构造函数 指定的路径名不存在。它也会被这些 构造函数,如果文件确实存在但由于某种原因 不可访问,例如当试图打开只读文件时 用于书写的文件

确保该文件存在于应用程序中(在.class文件所在的位置,而不是.java源文件所在的位置)


这是一个常见错误

将“
ajax-logo1.jpg
”文件保存在
Sample.java
所在的同一目录中(不推荐),或者在文件构造函数中提供“
ajax-logo1.jpg
”文件的实际/相对路径。

当您只需编写文件名时(正如您在代码示例中所做的那样),Java将在项目的根目录中查找文件,即如果项目文件位于目录
databaseProject
中,并且目录结构如下所示:

java.io.FileNotFoundException: ajax-logo1.jpg (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at com.Sample.main(Sample.java:19)
等等。 默认情况下,java程序将考虑您的工作目录为“代码>数据库项目并查找文件,除非您提供绝对或相对的路径(从您的PWD)到您的文件。p> 一个好的方法是将所有图像放在一个文件夹中,例如

`databaseProject
|->src
|->pom.xml (for maven builds)
... `

然后使用路径:
“/images/”
访问图像。

我已经将该图像的副本放入.class文件中,但它仍然不工作。您可以发布项目的文件结构吗?在eclipse src->com(package)->Sample.java+ajax-logo1.jpg bin->com(package)中->Sample.class+ajax-logo1.jpg如果我理解正确,该文件位于
jar
文件中?否。您所说的哪个jar不是真的,除非
Sample.class
Sample.java
位于同一目录中,而
Sample.java
不应该在同一目录中。什么不起作用,将该文件放在单独的目录中?或者将其放在项目的根目录中?
`databaseProject
|->src
|->images
   |->ajax-logo1.jpg
   |-> ....
|->pom.xml (for maven builds)
... `