ディレクトリ
フォルダともいいますね。
ご存知、ファイルを入れておく入れ物のような概念です。
サブディレクトリ
ディレクトリの中にあるディレクトリの事です。
カレントディレクトリ
今現在作業しているディレクトリの事です。
コマンドラインでは、コマンドプロンプトの左側に表示されています。
ご参照↓
第〇章 知っておいてほしい言葉
1.コマンドラインの画面説明
ルートディレクトリ
単に ルート ということもあります。
最上位のディレクトリを指します。
| Windows | c: などのドライブ名。 (「Cドライブ直下」と表現することも) |
| Linux | / (ルート) |
ホームディレクトリ
複数のユーザが使用することを想定したコンピュータにおいて、ユーザごとに割り当てられたディレクトリのことです。
ユーザが自由にファイルやサブディレクトリを作成したり、保存したりできます。
一般にユーザー名と同名で、ログインしたユーザーの最初のカレントディレクトリになります。
| 例: Windows | c:\Users\[ユーザー名] |
| 例: Linux | /home/[ユーザー名] |
パス
ディレクトリやファイルの場所を示す文字列をパスといいます。
上層のディレクトリから、「パス区切り文字」で区切って、
目的のディレクトリやファイルまでの経路を示します。
| 例(絶対パス): Windows | c:\Users\user01\sample.txt |
| 例(絶対パス): Linux | /home/user01/sample.txt |
パス区切り文字
パスを記述する上で、上層のディレクトリと、
下層のディレクトリやファイルの間を仕切る文字のことです。
| Windowsでは | 「\」(多くの場合「/」も利用できます。) |
| Linux では | 「/」です。 |
ファイルシステム
OSが持つ「ディレクトリやファイルを管理する機能」を指します。
Windowsのファイルシステムは、主に「FAT32」や「NTFS」です。
Linuxのファイルシステムは、「ex4」が主流でしょう。
パス区切り文字やルートディレクトリの記述が、Windows と Linux で異なるのは
ファイルシステムの違いによるものです。
絶対パス
ルートディレクトリからの経路を示すパスの書き方です。
相対パス
カレントディレクトリからの経路を示すパスの書き方です。
一つ上のディレクトリ 「..」
カレントディレクトリ 「.」
のような表現もよく使われます。
ご参照↓
第〇章 知っておいてほしい言葉
2. cdコマンド
と
は同じもの
Windowsのパス区切り文字は「

」(バックスラッシュ)とご紹介いたしました。
バックスラッシュは、
日本語キーボードの場合「ろ」のキーで入力できます。
ところが、実際にWindowsのメモ帳(notepad.exe)で「ろ」を直接入力モードで入力すると、
「

」と表示されます。
驚くべきことに、これは「仕様」です。
文字化けとはちょっと違います。
どうしてこうなった?!
ASCIIコードは様々な文字コードでも共通する部分で、文字化けしにくいとご説明申し上げましたが、
以下の部分は国や地域の事情に応じて改編することが認められていました。
日本では、JIS X 0201-1976 が制定された際に、「0x5C」と「0x7E」に、独自の文字を割り当てました。
日本で「

」が使えないのは致命的ですものね。
文字コードを取り違えて化けるのではなく、
正式に登録されている文字が表示されているのです。
日本語環境の「0x5C」
日本語仕様の Windowsは、Shift-JIS 由来の独自の文字コード MS932 を使用するので、
文字コード「0x5C」は、「

」と表示されます。
Linux は、Unicode UTF-8 なので、ASCIIと同じ「

」の表示です。
Webではページごとに設定されていますが、UTF-8 が多いので「

」と表示される事が多いでしょう。
このページも UTF-8 なので、「

」と表示されていると思います。
ちなみに、UTF-8 での円マークは「
0xC2A5」に別途登録されています。
ASCIIコードの範囲外ですね。
キーボード右上の「
」キーは危険
少し細かい話ですが、「ろ」の他に、キーボード右上の「

」キーでも「0x5C」が入力できます。
ところが、この右上のキーは、ごく限られた条件で「0x5C」のはずが、UTF-8 での円マーク「
0xC2A5」になってしまう事があるようです。
Javaのソースコードでは、
パス区切り文字を入力する際に、キーボード右下の「ろ」を使用した方が無難でしょう。
今の時点で過度に意識する必要はありませんが、この章では以下の様な配慮をしてサンプルコードを作成しています。
- パスの区切り文字は「/」を使用しましょう。
Windows版JDKのFileクラスは、「/」を「\」と自動的に読み替えます。
*Fileクラス内の FileSystem.normalizeメソッドの効果です。
- ファイルシステムから取得したパスの処理について
受け取ったパスを、文字列として編集する場合には、
String.replaseメソッドなどで、「\」を「/」に
置き換えるといいでしょう。
- なるべく相対パスを使いましょう。
- 相対パスの先頭にパスの区切り文字を付けません。
- System.getPropertiesメソッドの利用
絶対パスが必要な場合には、直接文字列リテラルを使用せずに、
System.getPropertiesメソッドを利用する方法があります。