Javaでのファイル処理:Javaファイルを操作する方法は?
公開: 2021-03-12Javaは広く普及しているプログラミング言語です。 堅牢なアーキテクチャとコンポーネントに加えて、その成功と人気の背後にある最も重要な理由の1つは、多数の機能のサポートです。 Javaでのファイル処理は、ファイルの操作を可能にするそのような機能の1つです。 今日は、Javaのファイルの概念を使用して実行できるさまざまな操作について学習します。
目次
Javaファイル処理とは何ですか?
前述のように、 Javaでのファイル処理により、ファイルを操作できます。 これは、Java.ioパッケージのFileクラスで定義されているJava機能です。 Java.ioパッケージのioは、入力と出力を表します。 Java.ioパッケージには、入力または出力操作を実行するために必要なすべてのクラスがあります。
このFileクラスにアクセスして使用すると、オブジェクトを作成してファイル名またはディレクトリ名を指定することにより、さまざまな機能を実行できます。 オブジェクトを作成してFileクラスを使用するための構文は次のとおりです。
java.io.Fileをインポートします。
File obj = new File(“ name.txt”);
上記の構文に見られるように、最初にJava.ioパッケージからFileクラスをインポートする必要があります。 インポートしたら、オブジェクトを作成し、操作するファイルまたはディレクトリの名前を指定するだけです。 Windows OSでディレクトリ名を指定するには、「\\」を使用する必要があります。 たとえば、 「 C:\ Users | MyFolder | MySubFolder 」ではなく、「 C:\\ Users \\ MyFolder\\MySubFolder 」を使用する必要があります。 ただし、Linuxなどの他のオペレーティングシステムでは、通常どおり単一の\を使用できます。
Javaでのファイル概念のすべてのI/O(入力/出力)操作は、ストリームの助けを借りて行われます。 ストリームとは何か、そしてこれらの操作はストリームでどのように実行されるのかを深く掘り下げてみましょう。
Javaのストリームの概念は何ですか?
簡単に言うと、ストリームは一連のデータです。 ストリームには次の2種類があります。
- バイトストリーム:このタイプのストリームはバイトデータで機能します。 I / O操作は、バイト(8ビット)形式でデータを読み書きするときにバイトストリームを使用して実行されます。
- 文字ストリーム:このタイプのストリームは、文字シーケンスで機能します。 I / O操作は、文字を使用してデータを読み書きするときに、文字ストリームを使用して実行されます。
チェックアウト:GitHubのトップJavaプロジェクト
Javaでのファイル処理に使用できるさまざまな方法は何ですか?
Fileクラスは、さまざまな事前定義されたメソッドを提供し、それらを呼び出すだけですべてのI/O操作を実行できるようにします。 次の表に、すべてのメソッドと、それらが実行するアクションを示します。
方法 | タイプ | 説明 |
読める() | ブール値 | ファイルを読み取れるかどうかをチェックします。 |
書ける() | ブール値 | ファイルに書き込めるかどうかをテストします。 |
createNewFile() | ブール値 | これにより、新しい空のファイルが作成されます。 |
消去() | ブール値 | このメソッドは、指定されたファイルを削除します。 |
存在する() | ブール値 | 上記のファイルが存在するかどうかをチェックします。 |
getName() | ストリング | ファイルの名前を返します。 |
getAbsolutePath() | ストリング | ファイルの絶対パス名を返します。 |
長さ() | 長さ | ファイルのサイズをバイト単位で返します。 |
リスト() | ストリング[] | ディレクトリに存在するファイル名のリストを返します。 |
mkdir() | ブール値 | このメソッドは、新しいディレクトリを作成します。 |
さまざまなJavaファイル処理操作を実行する方法は?
Fileクラスで使用できるさまざまなメソッドについて知っているので、それらを使用してさまざまなJavaファイル処理操作を実行します。 まず、ファイルに対して次のアクションを実行できます。
- 新しいファイルを作成します。
- ファイル情報を取得します。
- ファイルに書き込みます。
- ファイルから読み取ります。
- ファイルを削除します。
これらの各操作を実行する例を見ていきます。 最初の例では、新しいファイルを作成してから、同じファイルを使用して他のタスクを実行します。
ファイルの作成
createNewFile()メソッドを使用してファイルを作成できます。 メソッドを実行すると、trueまたはfalseが返されます。 ファイルが正常に作成されると、trueが返されます。 一方、ファイルがすでに存在する場合は、falseを返します。
ファイルが正常に作成されなかった場合に例外がスローされる可能性があるため、tryandcatchブロック内でこのメソッドを使用することを常にお勧めします。 詳細については、Javaでの例外処理に関するガイドを参照してください。 createNewFile()メソッドを使用して新しい空のファイルを作成する以下の例を参照してください。
java.io.Fileをインポートします。 //Fileクラスをインポートします
インポートjava.io.IOException; //エラーを処理するためのIOExceptionクラスのインポート
パブリッククラスCreateFileExample{
public static void main(String [] args){
試す{
File obj = new File(“ newFile.txt”);
if(obj.createNewFile()){// trueを返す場合、つまり正常に作成された場合
System.out.println( "ファイルは正常に作成されました:" + obj.getName());
}
else {// falseを返す場合、つまりファイルがすでに存在する場合
System.out.println( "ファイルは既に存在します");
}
}
catch(IOException e){//エラーが発生した場合に例外をキャッチします
System.out.println( "エラーが発生しました");
e.printStackTrace();
}
}
}
出力:
ファイルは正常に作成されます:newFile.txt
ファイル情報の取得
Fileクラスで定義されたさまざまなメソッドを使用して、名前、長さ、絶対パス、読み取り可能など、ファイルのさまざまな情報にアクセスできます。 以下の例では、ファイル情報を取得するためのいくつかのメソッドが使用されています。
java.io.Fileをインポートします。
パブリッククラスAccessInfoExample{
public static void main(String [] args){
//オブジェクトを作成します
File obj = new File(“ newFile.txt”);
if(obj.exists()){
//ファイル名を取得する
System.out.println( "ファイルの名前は次のとおりです:" + obj.getName());
//絶対パスを取得します
System.out.println( "ファイルの絶対パスは次のとおりです:" + obj.getAbsolutePath());
//ファイルが書き込み可能かどうかを確認します
System.out.println( "ファイルは書き込み可能ですか?" + obj.canWrite());
//ファイルが読み取り可能かどうかを確認します
System.out.println( "ファイルは読み取り可能ですか?" + obj.canRead());
//長さをバイト単位で取得します
//ファイルにまだ何も書き込んでいないため、0が表示されます
System.out.println( "ファイルサイズ(バイト単位):" + obj.length());
}
そうしないと{
System.out.println("ファイル名"+ obj.getName()+ "存在しません。");
}
}
}
出力:
ファイルの名前は次のとおりです:newFile.txt
ファイルの絶対パスは次のとおりです。D:JavaProgramming:newFile.txt
ファイルは書き込み可能ですか? true
ファイルは読み取り可能ですか? true
バイト単位のファイルサイズ:0
上記の例の出力は、ファイルの名前、ファイルを保存したパス、およびサイズによって異なる場合があります。 指定したファイルが存在しない場合は、「newFile.txtという名前のファイルは存在しません」と表示されます。
ファイルへの書き込み
バイトデータを書き込むには、FileOutputStreamクラスを使用し、文字の場合は、FileWriterクラスを使用します。 以下の例では、FileWriterクラスとその事前定義されたwrite()メソッドを使用して、「newFile」内に何かを書き込みます。
例を始める前に注意すべきことの1つは、書き込み用にファイルを開くときは常に、close()メソッドを使用してファイルを閉じる必要があるということです。 ファイルを閉じると、Javaコンパイラによって割り当てられたリソースを取得してファイルに書き込むことができます。 例でそれを行う方法を見てみましょう。
インポートjava.io.FileWriter; //FileWriterクラスをインポートします
インポートjava.io.IOException; //エラーを処理するためのIOExceptionクラスのインポート
パブリッククラスWriteExample{
public static void main(String [] args){
試す{
FileWriter obj = new FileWriter(“ newFile.txt”);
obj.write( "これはnewFile.txtファイルに書き込まれます!");
obj.close(); //ファイルを閉じる
System.out.println( "ファイルに正常に書き込み、閉じました。");
}
catch(IOException e){
System.out.println( "エラーが発生しました。");
e.printStackTrace();
}
}
}
出力:
ファイルへの書き込みとクローズに成功しました。
ファイルからの読み取り
FileInputStreamを使用してバイトデータを読み取り、FileReaderを使用してファイルから文字データを読み取ることができます。 または、Scannerクラスを使用してファイルから読み取ることもできます。 すでにFileWriterを使用してデータを書き込んでいるため、この例ではScannerクラスを使用してデータを読み取ります。 書き込み中と同様に、読み取り中も開いているファイルを閉じる必要があります。
java.io.Fileをインポートします。 //Fileクラスをインポートします
インポートjava.io.FileNotFoundException; //エラーを処理するためのクラスのインポート
java.util.Scannerをインポートします。 //テキストファイルを読み取るためのScannerクラスのインポート
パブリッククラスReadExample{
public static void main(String [] args){
試す{
File obj = new File(“ newFile.txt”);
スキャナーrobj=new Scanner(obj);
while(robj.hasNextLine()){
文字列dataInfo=robj.nextLine();
System.out.println(dataInfo);
}
robj.close();
}
catch(FileNotFoundException e){
System.out.println( "エラーが発生しました。");
e.printStackTrace();
}
}
}
出力:
これはnewFile.txtファイルに書き込まれます!
ファイルの削除
Fileクラスのdelete()メソッドを使用して、ファイルを削除できます。 空の場合は、フォルダ全体を削除することもできます。 次の例の「newFile.txt」ファイルを削除してみましょう。
java.io.Fileをインポートします。 //Fileクラスをインポートします
パブリッククラスDeleteExample{
public static void main(String [] args){
File obj = new File(“ newFile.txt”);
if(obj.delete()){
System.out.println("という名前のファイル"+ obj.getName()+ "は正常に削除されました。");
}
そうしないと{
System.out.println( "ファイルは削除されていません。");
}
}
}
出力:
newFile.txtという名前のファイルが正常に削除されました。
また読む: Javaプロジェクトのアイデアとトピック
世界のトップ大学からオンラインでソフトウェアコースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
結論
この投稿では、Javaでのファイル処理についてすべてを学びました。 Javaはそのようなさまざまな機能を提供し、世界中で最も人気のあるプログラミング言語の1つになっています。 したがって、インドでのJava開発者の給与が非常に高いのは当然のことです。 Java開発者になり、高給のパッケージを取得したい場合は、upGradの無料のJavaオンラインコースが適しています。
このコースは、貴重なスキルアップイニシアチブであるupStartプログラムの一部です。 無料コースを終了して認定を取得したら、フルスタック開発でupGradのPG認定をさらに選択できます。 プロジェクトを通じて実践的な経験を持つ400時間以上の学習教材を入手できます。 コースを受講して、Javaプログラミングの概念を使用したソフトウェア開発の分野で優れています。
Javaでファイルを読み書きする方法は?
クラスInputStreamのオブジェクトは、バイトを読み取ることができるデータのソースを表し、クラスOutputStreamのオブジェクトは、バイトを書き込むことができる宛先を表します。 このようなオブジェクトは、java.ioパッケージのさまざまなクラスで使用され、ファイルの読み取りと書き込み、ソケットからのデータの読み取りと書き込み、およびその他のさまざまな入出力操作を実行します。
Javaのさまざまなファイル処理ライブラリは何ですか?
Javaで提供されるいくつかのファイル処理ライブラリがあります。 それぞれに独自の目的と使用法があります。 java.ioパッケージは、基本的なファイル処理クラスを定義します。 つまり、これが最も汎用的なファイル処理ライブラリであると言えます。 新しい入力/出力パッケージとも呼ばれるjava.nioパッケージは、主に高スループット、低遅延、および低帯域幅のデータ転送に使用されます。 安全で軽量、プラットフォームに依存しません。 このパッケージは、チャネルベースのAPIを追加することにより、java.ioパッケージを拡張します。 また、java.nio.fileパッケージは、ファイルシステムへのプログラミングインターフェイス用です。 ファイルシステムは、情報が格納されている物理メディアに依存しない、データの階層構造です。 ファイルシステムにより、アプリケーション間のファイル共有とプロセス間通信が可能になります。 また、java.nio.file.attributeパッケージは、ファイルシステム属性のクラスおよびインターフェース用です。
Javaでのファイル処理のアプリケーションは何ですか?
ファイル処理は、多くの興味深く価値のあるJavaプログラミングトピックの1つです。 Javaプログラマーは、Javaでファイルを作成、開く、読み取る、書き込む、追加する、および削除する方法を知っていることが重要です。 これは、プログラマーがファイル内のデータを操作するのに役立ちます。 ファイルの長さの確認、ファイルの内容の読み取り、ファイルが書き込み可能かどうかの判断など、ファイルに対して実行できる操作は多数あります。