Java: изменить содержимое строки - PullRequest
0 голосов
/ 08 марта 2012

В моем приложении пользователь дает имя файла базы данных, в котором он / она хочет создать файл базы данных, и мое приложение создает базу данных в этом месте с предоставленным пользователем именем.С помощью пользователя FileChooser задайте имя базы данных, и когда он / она нажмет кнопку «Сохранить», в этом месте будет создан один файл базы данных.Код:

public class StringSpilt1 {
  public static void main(String[] argv)
    throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    JFileChooser fileChooser = new JFileChooser();
    fileChooser.showSaveDialog(null);
    System.out.println(fileChooser.getSelectedFile());
    createDatabase((fileChooser.getSelectedFile()).toString());

  }

private static void createDatabase(String string) {
    String databaseName = string;
//      String databaseName = "D:\\MSAccessProject/GRISS.mdb";
        Database database = createDatabase(databaseName);
    // rest of the code
}
}

Теперь проблема в том, что (fileChooser.getSelectedFile ()). ToString () возвращает путь следующим образом:

D: \ MSAccessProject \ GRISS.mdb

И для создания базы данных мне нужен путь следующим образом: D: \\ MSAccessProject / GRISS.mdb "

Какя могу решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Я получил решение:

String str=(fileChooser.getSelectedFile()).toString();
System.out.println("old:\t"+str);
String aaa= str.replaceAll("\\\\", "/");
System.out.println("new:\t"+aaa);
StringBuilder myName = new StringBuilder(aaa);
myName.setCharAt(2, '\\');
System.out.println("Final String:\t"+myName.toString());

И тогда мне нужно передать эту строку:

createDatabase(myName.toString());
0 голосов
/ 08 марта 2012

Либо используйте двойные косые черты "\\", либо одиночные косые черты "/". Я думаю, что это должно решить вашу проблему. После получения пути от fileChooser.getSelectedFile()).toString(); выполните следующую операцию:

path.replace("\","/");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...