ここで問題があります。C:\Users\Ewen\AppData\Roaming\MyProgram\Test.txt の値を含む文字列があり、C:\Users\Ewen\AppData\Roaming\MyProgram を削除したい\ Test だけが残るようにします。問題は、文字列の一部を削除するにはどうすればよいかということです。
御時間ありがとうございます!:)
ファイルパスを厳密に使用している場合は、これを試してください
String path = "C:\\Users\\Ewen\\AppData\\Roaming\\MyProgram\\Test.txt";
File f = new File(path);
System.out.println(f.getName()); // Prints "Test.txt"
ありがとうございます。.txt も削除したいと思います。
それでは、これを試してください
String fName = f.getName();
System.out.println(fName.substring(0, fName.lastIndexOf('.')));
詳しくはこちらをご覧ください。
String
クラスには、これに対処するために必要なすべての力があります。あなたが興味を持っているかもしれない方法:
String.split()
、String.substring()
、String.lastIndexOf()
これら 3 つ以上については、http: //docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.htmlで説明されています。
少し考えてみると、すぐに機能するようになります:)。
FilenameUtils.getBaseName(String filename)を使用することをお勧めします。このFilenameUtils
クラスはApache Commons IOの一部です。
ドキュメントによると、このメソッドは「Unix または Windows 形式のファイルを処理します」。「最後のフォワードまたはバックスラッシュの後、最後のドットの前のテキスト」が String オブジェクトとして返されます。
String filename = "C:\\Users\\Ewen\\AppData\\Roaming\\MyProgram\\Test.txt";
String baseName = FilenameUtils.getBaseName(filename);
System.out.println(baseName);
上記のコードはTest
.