在文件夹中创建文本文件

时间:2011-07-11 21:06:19

标签: java file

我想在我在这里创建的文件夹中创建一个文本文件。

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");

但是这段代码不会将文本文件创建到该文件夹​​中。相反,它会将文本文件放在该文件夹之外..

4 个答案:

答案 0 :(得分:6)

您需要的是

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

这里的关键是File(File parent, String child)构造函数。它在提供的父目录下创建一个具有指定名称的文件(当然,假设该目录存在)。

答案 1 :(得分: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

答案 2 :(得分:1)

该行

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

生成一个名为crawl_html"the_hash.txt的文件,因为String文字中的\"用于表示双引号,而不是反斜杠。必须使用\\来表示反斜杠。

使用File构造函数将File(目录)作为第一个参数,将文件名作为第二个参数:

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

答案 3 :(得分:0)

您的路径定界符似乎已关闭

尝试:

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