2011-07-11 18 views
5

Quiero crear un archivo de texto en esa carpeta que estoy creando aquí.crear un archivo de texto en una carpeta

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

Pero este código no crea el archivo de texto en ese folder..Instead hace que el archivo de texto fuera de esa carpeta ..

Respuesta

6

Uno de los constructores de java.io.File toma un directorio padre. Usted puede hacer esto en su lugar:

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

Lo que necesita es

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

La clave aquí está el constructor File(File parent, String child). Crea un archivo con el nombre especificado en el directorio principal proporcionado (siempre que exista un directorio, por supuesto).

1

La línea

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

hace un archivo llamado crawl_html"the_hash.txt, porque \" dentro de una cadena literal se utiliza para representar un caracter cita doble, no una barra invertida. \\ se debe usar para representar una barra diagonal inversa.

utilizar el constructor del archivo teniendo un archivo (directorio) como primer argumento, y un nombre de archivo como un segundo argumento:

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

su ruta-delimitador parece fuera

intento:

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