回答編集履歴
2
訂正
test
CHANGED
@@ -1,89 +1,7 @@
|
|
1
|
-
|
1
|
+
> JARファイルと同じディレクトリ内にデータベースを置くかんじにしたいです。
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
この
|
5
|
+
すみません、これを見落としていて見当違いの回答をしてしまいました。
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
まず、ホームディレクトリー文字列を取得するためにシステムプロパティー`user.home`を使います。
|
12
|
-
|
13
|
-
ログイン名が`argius`という文字列の場合、ホームディレクトリー文字列は、
|
14
|
-
|
15
|
-
Windowsだと`C:\Users\argius`Mac(OS X)だと`/Users/argius`、Linuxでは(たぶん)`/home/argius`
|
16
|
-
|
17
|
-
|
7
|
+
撤回します。
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
```lang-java
|
22
|
-
|
23
|
-
// Mac(OS X)の場合
|
24
|
-
|
25
|
-
System.out.println(System.getProperty("user.home")); // => /Users/argius
|
26
|
-
|
27
|
-
```
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
特定のOS限定であれば、それぞれのOSのアプリケーションデータ格納領域を利用してもOKです。
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
さらにその下に、ディレクトリーを作成します。
|
40
|
-
|
41
|
-
このディレクトリー名は、ドットで始まる名前にすることが多いです。
|
42
|
-
|
43
|
-
`myapp`というアプリ名なら、`/Users/argius/.myapp`となります。
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
このディレクトリーが作成されていない場合は、一連の初期処理を行います。
|
48
|
-
|
49
|
-
(ディレクトリー作成、DBファイル作成、...)
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
ここに、DBファイルを置きます。それ以外のファイルも置けます。
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
データベースは、SqliteやDerbyでもOKなのですが、
|
64
|
-
|
65
|
-
色々な点から使いやすい ** H2 Database ** をお薦めします。
|
66
|
-
|
67
|
-
Java界隈では組み込みDBとしては最も多く利用されていると思います。
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
[H2 Database Engine](http://www.h2database.com/html/main.html)
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
H2databaseは、URLにホームディレクトリからの相対パスが使えます。
|
76
|
-
|
77
|
-
なので、`jdbc:h2:~/.myapp/dbfile`のように書くことができます。
|
78
|
-
|
79
|
-
(新しいバージョンでは絶対パスが使えなくなっています。)
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
このように、ホームディレクトリからの相対パスを指定できるのもお薦めのポイントです。
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
こんな感じでいかがでしょうか。
|
1
×埋め込み → ○組み込み
test
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
|
65
65
|
色々な点から使いやすい ** H2 Database ** をお薦めします。
|
66
66
|
|
67
|
-
Java界隈では
|
67
|
+
Java界隈では組み込みDBとしては最も多く利用されていると思います。
|
68
68
|
|
69
69
|
|
70
70
|
|