Path
5448 ワード
Javaの
1つの
ファイルシステムのパスといくつかのオペレーティングシステムのpath環境変数を混同しないでください.
Creating a Path Instance
例の最初の2行
第二に、
Creating an Absolute Path
この絶対パスは:c:datamyfile.txt.Java文字列では、「」はエスケープ文字、すなわちその後ろの文字が現在の文字列のこの位置の本当の文字であるため、2つの「」を使用する必要があります.「」と書くのは、Javaコンパイラにここで「」を書くように伝えることです.
上のパスはWindowsファイルシステムのパスです.Unix(Linux、MacOS、FreeBSDなど)システムでは、上記の絶対パスがこのように見える可能性があります.
今、この絶対パスは:/home/jakobjenkov/myfile.txt.
Windowsサーバ上でこのパス(/)を使用すると、このパスは現在のディスクに対するパスとして扱われます.たとえば、次のパスです.
Cディスクと見なすことができます.このパスは次の完全なパスに対応します.
Creating a Relative Path
相対パスは、1つのパス(データムパス)からファイルまたはディレクトリへのパスです.その完全なパス(絶対パス)は、データムパスと相対パスが結合されています.
Java NIOの
1つ目の例は、d:dataprojects(ディレクトリ)を指す
相対パスを処理するときに、パス文字列で使用できる特殊な文字が2つあります.それらは(注意して、あなたは目がくらんでいません): . ..
“.”現在のディレクトリを表します.たとえば、このように相対パスを作成すると、次のようになります.
では、この
パス文字列の間で「.」を使用すると、このパスがその場所にある同じディレクトリを意味するだけです.次の例を見てください.
このパスは次のパスと同じです.
“..”親ディレクトリまたは親ディレクトリを表します.次の例を見てください.
この例で作成された
パス文字列の間に「..」を使用すると、ディレクトリがその方向に移動します.例:
この例で作成された
a-projectの後の"."パス全体をprojectsディレクトリに移動し、そこからanother-projectディレクトリに参照します.
“.”および2つの
Java NIOには相対パスを処理する方法がたくさんあります.少しは見えます.
Path.normalize()
この例では、まず「.」を含むのパス文字列を作成し、このパス文字列に基づいて
次に、例は、作成された
これは、上記の例で印刷された結果です.
ご覧のように、標準化されたパスにはa-projectが含まれていません.これは余計だからです.削除された部分は、最終パスには何の影響もありません.
このシリーズの文章を読んでいる人がいるようですが、説明する必要があります.このJava NIOシリーズはjenkovに由来しています.com、本文はただ翻訳して、みんながくれぐれも誤解しないでくださいを望んで、本文はオリジナルではありません.原文アドレス:Java NIO.
Path
インタフェースは、Java 6とJava 7の2回の更新の一部です.JavaのPath
インタフェースは、Java 7にJava NIOが組み込まれています.Path
インターフェースはjava.nio.file
パケットの下にあるので、Path
インターフェースの権限の命名はjava.nio.file.Path
である.1つの
Path
インスタンスは、ファイルシステムのパスを表す.パスは、ファイルまたはディレクトリを指します.パスは相対パスまたは絶対パスです.絶対パスには、ファイルシステムのルートパスから、その指向するファイルまたはディレクトリへの全パスが含まれます.相対パスには、ファイルまたはディレクトリの他のパスに対するパスが含まれます.相対経路は少し混乱しているように聞こえるかもしれません.心配しないでください.このチュートリアルで相対パスを詳しく説明します.ファイルシステムのパスといくつかのオペレーティングシステムのpath環境変数を混同しないでください.
java.nio.file.Path
インタフェースはpath環境変数とは少しも関係ありません.java.nio.file.Path
は多くの点でjava.io.File
と似ているが、わずかな違いもある.多くの場合、Path
の代わりにFile
を使用することができます.Creating a Path Instance
java.nio.file.Path
を使用する前に、Path
インスタンスを作成する必要があります.Paths(java.nio.file.Paths)
クラスの静的メソッドPaths.get()
によってPath
インスタンスを作成できます.次に例を示します.import java.nio.file.Path;
import java.nio.file.Paths;
public class PathExample {
public static void main(String[] args) {
Path path = Paths.get("c:\\data\\myfile.txt");
}
}
例の最初の2行
import
文に注意してください.Path
インタフェースとPaths
クラスを使用する前に、import
クラスを使用する必要があります.第二に、
Paths.get("c:\\data\\myfile.txt")
というメソッド呼び出しに注意してください.Paths.get()
のメソッド呼び出しにより、Path
のインスタンスを作成した.言い換えれば、Paths.get()
方法は、Path
例を製造するプラント方法である.Creating an Absolute Path
Paths.get()
メソッドが呼び出されると、絶対ファイルが転送され、絶対パスが作成されます.次に、絶対パスを表すPathインスタンスを作成します.Path path = Paths.get("c:\\data\\myfile.txt");
この絶対パスは:c:datamyfile.txt.Java文字列では、「」はエスケープ文字、すなわちその後ろの文字が現在の文字列のこの位置の本当の文字であるため、2つの「」を使用する必要があります.「」と書くのは、Javaコンパイラにここで「」を書くように伝えることです.
上のパスはWindowsファイルシステムのパスです.Unix(Linux、MacOS、FreeBSDなど)システムでは、上記の絶対パスがこのように見える可能性があります.
Path path = Paths.get("/home/jakobjenkov/myfile.txt");
今、この絶対パスは:/home/jakobjenkov/myfile.txt.
Windowsサーバ上でこのパス(/)を使用すると、このパスは現在のディスクに対するパスとして扱われます.たとえば、次のパスです.
/home/jakobjenkov/myfile.txt
Cディスクと見なすことができます.このパスは次の完全なパスに対応します.
C:/home/jakobjenkov/myfile.txt
Creating a Relative Path
相対パスは、1つのパス(データムパス)からファイルまたはディレクトリへのパスです.その完全なパス(絶対パス)は、データムパスと相対パスが結合されています.
Java NIOの
Path
クラスも相対パスを扱うことができる.Paths.get(basePath, relativePath)
メソッドを呼び出すことによって、相対パスを作成することができる.次の2つの例を示します.Path projects = Paths.get("d:\\data", "projects");
Path file = Paths.get("d:\\data", "projects\\a-project\\myfile.txt");
1つ目の例は、d:dataprojects(ディレクトリ)を指す
Path
インスタンスを作成します.2つ目の例は、d:dataprojectsa-projectmyfile.txt(ファイル)を指すPath
インスタンスを作成します.相対パスを処理するときに、パス文字列で使用できる特殊な文字が2つあります.それらは(注意して、あなたは目がくらんでいません):
“.”現在のディレクトリを表します.たとえば、このように相対パスを作成すると、次のようになります.
Path currentDir = Paths.get(".");
System.out.println(currentDir.toAbsolutePath());
では、この
Path
例に対応する絶対パスは、上記のコードを実行するプログラムが存在するディレクトリである.パス文字列の間で「.」を使用すると、このパスがその場所にある同じディレクトリを意味するだけです.次の例を見てください.
Path currentDir = Paths.get("d:\\data\\projects\.\a-project");
このパスは次のパスと同じです.
d:\data\projects\a-project
“..”親ディレクトリまたは親ディレクトリを表します.次の例を見てください.
Path parentDir = Paths.get("..");
この例で作成された
Path
インスタンスは、これらのコードを実行するプログラムを起動するディレクトリの親ディレクトリに対応する.パス文字列の間に「..」を使用すると、ディレクトリがその方向に移動します.例:
String path = "d:\\data\\projects\\a-project\\..\\another-project";
Path parentDir2 = Paths.get(path);
この例で作成された
Path
インスタンスは、次のパスに対応しています.d:\data\projects\another-project
a-projectの後の"."パス全体をprojectsディレクトリに移動し、そこからanother-projectディレクトリに参照します.
“.”および2つの
String
パラメータを有するPaths.get()
の方法においても使用することができる.次の2つの簡単な例を示します.Path path1 = Paths.get("d:\\data\\projects", ".\\a-project");
Path path2 = Paths.get("d:\\data\\projects\\a-project", "..\\another-project");
Java NIOには相対パスを処理する方法がたくさんあります.少しは見えます.
Path.normalize()
Path
インターフェースのnormalize()
方法は、1つのパスを標準化することができる.標準化は、パスのすべての「.」を削除することを意味します.および対応するパスに解析します.次の例があります.String originalPath = "d:\\data\\projects\\a-project\\..\\another-project";
Path path1 = Paths.get(originalPath);
System.out.println("path1 = " + path1);
Path path2 = path1.normalize();
System.out.println("path2 = " + path2);
この例では、まず「.」を含むのパス文字列を作成し、このパス文字列に基づいて
Path
インスタンスを作成し、このインスタンスを印刷します(実際にはPath.toString()
が印刷されます).次に、例は、作成された
Path
インスタンスのnormalize()
メソッドを呼び出し、新しいPath
インスタンスを返した.そしてこの新しい、標準化されたPath
例も印刷された.これは、上記の例で印刷された結果です.
path1 = d:\data\projects\a-project\..\another-project
path2 = d:\data\projects\another-project
ご覧のように、標準化されたパスにはa-projectが含まれていません.これは余計だからです.削除された部分は、最終パスには何の影響もありません.
このシリーズの文章を読んでいる人がいるようですが、説明する必要があります.このJava NIOシリーズはjenkovに由来しています.com、本文はただ翻訳して、みんながくれぐれも誤解しないでくださいを望んで、本文はオリジナルではありません.原文アドレス:Java NIO.