2011-07-11 8 views
5

ここで作成しているフォルダにテキストファイルを作成したい。フォルダにテキストファイルを作成する

File dir = new File("crawl_html"); 
dir.mkdir(); 
String hash = MD5Util.md5Hex(url1.toString()); 
System.out.println("hash:-" + hash); 
File file = new File(""+dir+"\""+hash+".txt"); 

しかし、このコードは、その中のテキストファイルを作成しませんが、それはそのフォルダの外にテキストファイルを作成folder..Instead ..あなたが必要なもの

答えて

6

java.io.Fileのコンストラクタの1つに親ディレクトリがあります。あなたは代わりにこれを行うことができます。

final File parentDir = new File("crawl_html"); 
parentDir.mkdir(); 
final String hash = "abc"; 
final String fileName = hash + ".txt"; 
final File file = new File(parentDir, fileName); 
file.createNewFile(); // Creates file crawl_html/abc.txt 
6

File file = new File(dir, hash + ".txt"); 

キーですここにはFile(File parent, String child)コンストラクタがあります。提供された親ディレクトリの下に、指定された名前のファイルを作成します(もちろん、そのディレクトリが存在する場合に限ります)。

1

文字列リテラル内の\"は、二重引用符caracterではなく、バックスラッシュを表すために使用されているため、ライン

new File(""+dir+"\""+hash+".txt"); 

は、crawl_html"the_hash.txtという名前のファイルを作成します。バックスラッシュの表現には\\を使用する必要があります。

2番目の引数として最初の引数としてファイルを取るファイルのコンストラクタ(ディレクトリ)を使用して、ファイル名:

new File(dir, hash + ".txt"); 
0

あなたのパス区切り文字は

試しオフ思わ:

File file = new File ("" + dir + "/" + hash + ".txt"); 
関連する問題