#java #database #path #derby #embedded-database
#java #База данных #путь #derby #встроенная база данных
Вопрос:
Недавно я пытался использовать 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?
Спасибо,
Майкл
Комментарии:
1. Я почти уверен, что Derby будет обрабатывать либо соглашение о разделителе каталогов (косая черта или обратная черта). Вы уверены, что проблема в косых чертах? Можете ли вы добавить больше отладки в свою программу (и включить выходные данные), чтобы помочь проверить это и исключить другие проблемы?
Ответ №1:
Хорошо,
мне просто нужно было добавить две обратные косые черты к пути к файлу вместо одной:
Cusersmissouridesktop123
становится
C\users\missouri\desktop\123
Надеюсь, это поможет,
Тревор