在文件夹中创建文本文件

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

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

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

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 

你需要的是什么

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

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

这条线

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

在String字面值中创建一个名为crawl_html"the_hash.txt的文件crawl_html"the_hash.txt ,因为\"用于表示双引号,而不是反斜杠。 \\必须用于表示反斜杠。

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

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

你的路径分隔符似乎已关闭

尝试:

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