3

私のWebアプリはアーカイブを受け取り、それをtempフォルダーに解凍し、抽出されたDBFからデータを読み取り、ガベージを強制終了する必要があります。その中のDBFファイルがロックされているため、一時フォルダを強制終了できませんが。サンプルコードは次のとおりです。

public static void main( String a[] ) throws Exception {

    Class.forName( "com.hxtt.sql.dbf.DBFDriver" ).newInstance();
    String url = "jdbc:DBF:/C:/TEMP/";
    Properties properties = new Properties();
    properties.setProperty( "charSet", "cp866" );
    Connection con = null;
    Statement st = null;
    java.sql.Driver d = null;
    con = DriverManager.getConnection( url, properties );
    d = DriverManager.getDriver( url );
    st = con.createStatement();
    ResultSet rs = st.executeQuery( "SELECT * FROM 6QQQ201010" );
    rs.close();
    st.close();
    con.close();

}

最後の行を超えてブレークポイントを設定しましたが、6QQQ201010.DBFはまだロックされています。何か案は?それとも、ドライバーのバグですか?

4

1 に答える 1

2

プロパティを追加します。setProperty( "delayedClose"、 "0"); ドライバーはすぐにハンドルを閉じます。

于 2010-11-23T07:22:45.010 に答える