teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

訂正

2015/06/28 00:57

投稿

argius
argius

スコア9396

answer CHANGED
@@ -1,45 +1,4 @@
1
- ホームディレクトリーの下、そのアプリケーション専用のィレクトリーを作る、という方法をご紹介す。
1
+ > JARファイルと同じディレクトリにデータベース置くかんじにたいです。
2
2
 
3
- の方法だ、同じPC異なるユーザーが利用する場合にも対応でき
3
+ すみません、れを見落していて見当違いの回答してしいました
4
-
5
-
6
- まず、ホームディレクトリー文字列を取得するためにシステムプロパティー`user.home`を使います。
7
- ログイン名が`argius`という文字列の場合、ホームディレクトリー文字列は、
8
- Windowsだと`C:\Users\argius`Mac(OS X)だと`/Users/argius`、Linuxでは(たぶん)`/home/argius`
9
- になります。
4
+ 撤回します。
10
-
11
- ```lang-java
12
- // Mac(OS X)の場合
13
- System.out.println(System.getProperty("user.home")); // => /Users/argius
14
- ```
15
-
16
- 特定のOS限定であれば、それぞれのOSのアプリケーションデータ格納領域を利用してもOKです。
17
-
18
-
19
-
20
- さらにその下に、ディレクトリーを作成します。
21
- このディレクトリー名は、ドットで始まる名前にすることが多いです。
22
- `myapp`というアプリ名なら、`/Users/argius/.myapp`となります。
23
-
24
- このディレクトリーが作成されていない場合は、一連の初期処理を行います。
25
- (ディレクトリー作成、DBファイル作成、...)
26
-
27
-
28
- ここに、DBファイルを置きます。それ以外のファイルも置けます。
29
-
30
-
31
-
32
- データベースは、SqliteやDerbyでもOKなのですが、
33
- 色々な点から使いやすい ** H2 Database ** をお薦めします。
34
- Java界隈では組み込みDBとしては最も多く利用されていると思います。
35
-
36
- [H2 Database Engine](http://www.h2database.com/html/main.html)
37
-
38
- H2databaseは、URLにホームディレクトリからの相対パスが使えます。
39
- なので、`jdbc:h2:~/.myapp/dbfile`のように書くことができます。
40
- (新しいバージョンでは絶対パスが使えなくなっています。)
41
-
42
- このように、ホームディレクトリからの相対パスを指定できるのもお薦めのポイントです。
43
-
44
-
45
- こんな感じでいかがでしょうか。

1

×埋め込み → ○組み込み

2015/06/28 00:57

投稿

argius
argius

スコア9396

answer CHANGED
@@ -31,7 +31,7 @@
31
31
 
32
32
  データベースは、SqliteやDerbyでもOKなのですが、
33
33
  色々な点から使いやすい ** H2 Database ** をお薦めします。
34
- Java界隈では埋め込みDBとしては最も多く利用されていると思います。
34
+ Java界隈では組み込みDBとしては最も多く利用されていると思います。
35
35
 
36
36
  [H2 Database Engine](http://www.h2database.com/html/main.html)
37
37