ファイル拡張子を取得する方法

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この手順に従った実験では、Java プログラミング言語でファイルの拡張子を取得する方法を学びます。ファイルの拡張子はその種類を示し、pdf、txt、doc など、さまざまな種類のファイルを区別するのに役立ちます。ファイルの拡張子を取得することは、ファイルを扱う際に重要であり、適切な種類のファイルが適切な方法で処理されることを確認するのに役立ちます。

Java ファイルを作成する

次のコマンドを使用して新しい Java ファイルを作成します。

touch ~/project/FileExtension.java

Java クラスを定義する

import java.io.IOException;

public class FileExtension {
    public static void main(String[] args) throws IOException {

    }
}

メインメソッドを定義する

このステップでは、ユーザーからファイル名を受け取り、その拡張子を抽出するためのメインメソッドを定義します。

import java.io.IOException;

public class FileExtension {
    public static void main(String[] args) throws IOException {
        if (args.length > 0) {
            String filename = args[0];
            int index = filename.lastIndexOf(".");
            if (index > 0) {
                String extension = filename.substring(index + 1);
                System.out.println("File extension: " + extension);
            } else {
                System.out.println("No file extension found");
            }
        } else {
            System.out.println("Please provide a filename");
        }
    }
}

上記のコードブロックでは、ユーザーがファイル名を提供したかどうかを確認しています。ファイル名が提供されていない場合、ユーザーにファイル名を提供するよう促します。その後、拡張子の始まりを示すファイル名の最後のドットのインデックスを取得するために lastIndexOf() メソッドを使用します。ファイル名にドットが見つからない場合、それはファイルに拡張子がないことを示しています。どちらの場合も、コマンドライン出力を通じてユーザーに通知します。

Java コードをコンパイルする

Java コードをコンパイルするには、ターミナルで次のコマンドを実行します。

javac ~/project/FileExtension.java

Java プログラムを実行する

Java プログラムを実行するには、次のコマンドを実行します。

java FileExtension filename.extension

ここで、'filename.extension' はファイル拡張子を取得したいファイルのパスと名前です。

Java プログラムをテストする

さまざまなファイル拡張子を持つファイルを使ってプログラムを何回も実行することで、このプログラムをテストしてみましょう。

java FileExtension document.txt
java FileExtension image.png
java FileExtension music.mp3

複数のファイル拡張子の処理

ファイルには、.tar.gz や.tar.bz2 のようにドットで区切られた複数の拡張子があり得ます。このような場合、ステップ 3 のコードを次のように変更できます。

import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        if (args.length > 0) {
            String filename = args[0];
            int index = filename.indexOf(".");
            int lastIndex = filename.lastIndexOf(".");
            if (index > 0 && lastIndex > 0 && lastIndex > index) {
                String extension = filename.substring(lastIndex + 1);
                System.out.println("File Extension:. " + extension);
            } else {
                System.out.println("No file extension found");
            }
        } else {
            System.out.println("Please provide a filename");
        }
    }
}

上記のコードブロックでは、まずファイル名に複数のドットがあるかどうかを確認して複数の拡張子を識別しています。複数のドットが見つかった場合、ドット記号を削除するために +1 を付けた lastIndexOf() メソッドを使用して最後の拡張子を抽出します。

Java コードをコンパイルする

ターミナルで次のコマンドを使用して Java コードをコンパイルします。

javac ~/project/FileExtension.java

Java プログラムをテストする

次のように複数のファイル拡張子を使ってプログラムを実行することで、このプログラムをテストしてみましょう。

java FileExtension document.pdf
java FileExtension image.png
java FileExtension music.mp3
java FileExtension archive.tar.gz

まとめ

この実験では、Java プログラミング言語でファイルの拡張子を取得する方法を学びました。ユーザーからファイル名を受け取り、その拡張子を抽出してその種類を判断する Java プログラムを作成しました。indexOf() メソッドと lastIndexOf() メソッドを使って複数の拡張子を持つファイルを処理する方法を示しました。