すべてのコンパイラに依存経路問題の後にファイルのパス
たとえば、ソースファイルのパスは次のとおりです。
ファイルパスがコンパイルされます。
言い換えれば、ファイルのリソースフォルダコンパイル後、ルートディレクトリがあり、この場合には、例えば、私はmy.txtファイルのパスリソースフォルダを読みたいです、
書か①:
// コンパイル、プロジェクトのルートパス、言葉遣い1の後。 文字列= A. URL1のクラス .getClassLoader()のgetResource( "" ).ToString(); // コンパイルされ、プロジェクトのルートパス、2書き込み 文字列= URL2のA.のクラスを。 getResource( "/" ).toString(); // コンパイル、ルートファイル 文字列= A. URL3 クラス .getResource( "")のtoString();
出力:
ファイル:/ D:/ IdeaWorkspace /テスト- ナル -project /ターゲット/クラス/ ファイル: / D:/ IdeaWorkspace /テスト- ナル -project /ターゲット/クラス/ ファイル: / D:/ IdeaWorkspace /テスト- ナル -project /ターゲット/クラス/ COM /囚人/
②著:
// はgetFileメソッドは後者のgetResourceが呼び出し、そこには[ファイル:]はありませんが、[/ D:XXX]でフォーマット ストリング= A. URL4のクラス .getClassLoader()のgetResource( "" ).GetFile() ; 文字列URL5 = A.のクラス .getResource( "/" ).getFile(); 文字列url6 = A.のクラス .getResource( "" ).getFile(); のSystem.out.println(URL4) のSystem.out.println (URL5) のSystem.out.println(url6)。
出力:
/ D:/ IdeaWorkspace /試験- ヌル -project /標的/クラス/ / D:/ IdeaWorkspace /試験- ヌル -project /標的/クラス/ / D:/ IdeaWorkspace /試験- ヌル -project /標的/クラス/ COM /囚人/
これはmy.txtの内容であるとして、これまでのところ、パスを取得するために、あなたはファイルファイルを読み込み、そのファイルを読み込むことができ、ファイルパスの道の上に乗るのさまざまながありました
コードは次のようにファイルの内容がかもしれ読み取ります。
// 获取路径 列filePathに= A.のクラス .getClassLoader()のgetResource( "my.txt"。).getFile(); 私のファイル = 新しいファイル(filePathにします)。 ISRにInputStreamReader = 新しい InputStreamReaderの(新しいFileInputStreamを(私)、StandardCharsets.UTF_8)。 BufferedReaderのBR = 新しいBufferedReaderの(ISR)。 文字列lineTxt; 一方、((lineTxt = br.readLine())!= NULL ){ のSystem.out.println(lineTxt)。 } br.close()。
出力: