2011-07-11 137 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的构造函数之一需要父目录。因为\"文本字符串中用来表示一个双引号卡拉科特,而不是一个反斜杠

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

线

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

使名为crawl_html"the_hash.txt文件:你可以做到这一点吧。必须使用\\来表示反斜杠。

使用文件的构造以文件(目录)作为第一个参数和文件名作为第二个参数:

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

您的路径分隔符似乎离

尝试:

File file = new File ("" + dir + "/" + hash + ".txt"); 
相关问题