在文件夹中创建文本文件
我想在我在这里创建的文件夹中创建一个文本文件。
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" );