【发布时间】:2020-12-25 01:31:55
【问题描述】:
最近我一直在尝试使用 JFileChooser 来选择创建数据库的位置;但是,我遇到的问题是我从 JFileChooser 获得的文件路径有反斜杠而不是正斜杠,我认为这是不允许我创建数据库的原因。这是我的代码,并尝试解决问题。
try {
// Try to connect to the database
DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver());
databaseconnection = DriverManager.getConnection("jdbc:derby:"+formattedfolderpath+";");
databaseconnection.setAutoCommit(false);
currentdb = true;
} catch (SQLException EX) {
try {
// Create the DB if it doesn't exist yet
DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver());
databaseconnection = DriverManager.getConnection("jdbc:derby:"+formattedfolderpath+";create=true");
databaseconnection.setAutoCommit(false);
currentdb = true;
} catch (SQLException EX2) {
//infoBox("OH MY LAWD", "Error");
}
和
JButton open = new JButton();
JFileChooser fc = new JFileChooser();
fc.setCurrentDirectory(new java.io.File("C:/Users/1jenningst/Desktop"));
fc.setDialogTitle("PDF Manager");
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if (fc.showOpenDialog(open) == JFileChooser.APPROVE_OPTION){
//
}
String folderpath = fc.getSelectedFile().getAbsolutePath();
try{
formattedfolderpath = new BufferedReader(new FileReader(folderpath));
} catch (Exception e){
//
}
selecting();
}
任何人对如何使用变量来使用 JFileChooser 完成文件路径有任何想法吗?
谢谢,
迈克尔
【问题讨论】:
-
我很确定 Derby 将处理目录分隔符约定(正斜杠或反斜杠)。您确定斜线是问题所在吗?您能否在您的程序中添加更多调试(并包含输出)以帮助验证这一点并排除其他问题?
标签: java database path derby embedded-database