ホームページ > Java > &#&ベース > Javaでファイルを読み取る方法

Javaでファイルを読み取る方法

リリース: 2022-01-12 15:30:15
オリジナル
61278 人が閲覧しました

Java でファイルを読み取る方法: 1. [java.io] メソッドを使用して読み取り、現在のユーザー ディレクトリからの相対パスから読み取ります; 2. [java.lang.ClassLoader] を使用して読み取ります。メソッド読み取り、クラスパスを基準とした相対パスから読み取ります。

Javaでファイルを読み取る方法

Java でファイルを読み取る方法:

Java でファイルを読み取る 2 つの方法: java.io と java .lang.ClassLoader

// java.io:  
File  file  =  new  File("...");  
FileInputStream  fis  =  new  FileInputStream("...");  
FileReader  fr  =  new  FileReader("...");  

//ClassLoader:  
ClassLoader  loader  =  XXXClass.class.getClassLoader();   
ClassLoader  loader2  =  Thread.currentThread().getContextClassLoader();  

URL  url  =  loader.getResource("...");  
File  file  =  new  File(url.getFile());  
InputStream  input  =  loader.getResourceAsStream("...");
ログイン後にコピー

1、java.io パッケージ内のクラスは常に現在のユーザー ディレクトリに基づいて相対パス名を分析します。つまり、相対パスが適切に機能するかどうかは、 user.dir の値。システム プロパティ user.dir は、JVM の起動時に設定され、通常は Java 仮想マシンの呼び出しディレクトリ、つまり java コマンドが実行されるディレクトリです。

tomcat/jboss コンテナの場合、user.dir は %home/bin%/ ディレクトリです。このディレクトリが Web コンテナを開始する場所であるためです。

Eclipse でプログラムを実行すると、Eclipse はuser.dir の値をプロジェクトのルート ディレクトリに設定します。

ユーザー ディレクトリは、System.getProperty("user.dir")を使用して表示できます。

したがって、java.io を使用して、ファイルを読み取ります。相対パスであっても絶対パスであっても、それは良い習慣ではありません。(JavaEE で) 使用できない場合は使用しないでください。

2. ClassLoader を使用する

Class.getResource() には絶対パスと相対パスの 2 つの方法があります。絶対パスは / で始まり、クラスパスまたは jar パッケージのルート ディレクトリから検索します。

相対パスは、現在のクラスが配置されているディレクトリに対する相対パスであるため、.. または . を使用して検索できます。ファイル。

ClassLoader.getResource() は絶対パスのみを使用でき、/ で始まることはできません。

リソース ファイルを読み取るこれら 2 つの方法は、user.dir や特定のデプロイメント環境に依存しません。推奨される方法です (JavaEE)

選択方法

java.io:

現在のユーザー ディレクトリを基準とした相対パスを読み取ります。ディスク ファイルの処理または純粋な Java プロジェクトでの使用に重点を置きます。

ClassLoader メソッドはより多用途ですが、JavaEE 環境でない場合、ファイルを読み取るためのクラスパス パスを見つけるのは不合理です。

java.lang.ClassLoader:

クラスパスを基準とした相対パスを読み取ります。このメソッドは JavaEE 環境で使用することをお勧めします。

通常、ClassLoader は大きすぎるファイルを読み取ることができません。Web プロジェクトの構成ファイルを読み取るのに適しています。大きなファイルを読み取る必要がある場合でも、IO パッケージを使用する必要があります。最初にClassLoader を介してファイルを絶対パスで渡し、File または他のオブジェクトに渡す場合は、io パッケージ内のオブジェクトを使用して読み取る方がよいでしょう。

Java の知識をさらに深めたい場合は、Java の基本チュートリアル を参照してください。

以上がJavaでファイルを読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート