0

Java ではFile、フォルダーを表すオブジェクトがあります。

String folderName = "/home/vektor/folder";
File folder = new File(folderName);

Fileここで、このフォルダーにファイルを表す別のファイルを作成したいと思います。次のような文字列連結を避けたい:

String fileName = "test.txt";
File file = new File(folderName + "/" + fileName);

この構造をさらに深く掘り下げると、次のような結果が得られるからです。

File deepFile = new File(folderName + "/" + anotherFolderName + ... + "/" + fileName);

代わりに次のようなことをしたい

File betterFile = folder.createUnder(fileName);

あるいは:

File otherFile = SomeFileUtils.createFileInFolder(folder, fileName);

あなたはそのような解決策を知っていますか?

注: Windows では Java が「\」に変換するため、「/」を使用してもまったく問題ありませんが、クリーンではありません。 "file.separator"fromのようなものを使用する必要がありますSystem.getProperties()

4

2 に答える 2

2

FileのJavadoc を見ると、コンストラクターがFileオブジェクトを親として受け取ることがわかります。

次のフォームを使用します。

File deepFile = new File(folder, fileName);
于 2012-11-01T10:52:44.897 に答える
2

私は使うだろう

String folderName = 
String fileName = 

File under = new File(folderName, fileName);

また

File folderFile = 
String fileName = 

File under = new File(folderFile, fileName);

そのような単純な ;)

于 2012-11-01T10:45:03.117 に答える