![](/img/trans.png)
[英]java.io.FileNotFoundException: the system cannot find the file specified
[英]java.io.FileNotFoundException: the system cannot find the file specified -while inserting an image in database
碼:
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 (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解釋器找不到文件時,發生FileNotFoundException異常
表示嘗試打開由指定路徑名表示的文件失敗。
當具有指定路徑名的文件不存在時,FileInputStream,FileOutputStream和RandomAccessFile構造函數將拋出此異常。 如果該文件確實存在,但由於某種原因而無法訪問,例如,當試圖打開一個只讀文件進行寫入時,這些構造方法也會拋出該文件。
確保文件存在於您的應用程序中(.class文件所在的位置,.java源文件所在的位置)
那是一個常見的錯誤
保持“ ajax-logo1.jpg
”文件在同一目錄Sample.java
位於(不推薦),或提供“實際/相對路徑ajax-logo1.jpg
在文件構造”文件。
當您簡單地寫文件名時(如您在代碼示例中所做的那樣),Java將在項目的根目錄中查找文件,即,如果您的項目文件在目錄databaseProject
,並且目錄結構如下所示:
`databaseProject
|->src
|->pom.xml (for maven builds)
... `
缺省情況下,Java程序會將您的工作目錄視為databaseProject
並在其中查找文件,除非您為文件指定了絕對或相對路徑(來自pwd)。
一個好的方法是將所有圖像放在一個文件夾中,例如
`databaseProject
|->src
|->images
|->ajax-logo1.jpg
|-> ....
|->pom.xml (for maven builds)
... `
然后使用路徑: "/images/<image_name>"
訪問圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.