Respuestas:
La mejor manera de hacerlo es:
String path = "C:" + File.separator + "hello" + File.separator + "hi.txt";
// Use relative path for Unix systems
File f = new File(path);
f.getParentFile().mkdirs();
f.createNewFile();
new File("/a/b/test.txt")
obras para ambos sistemas. En Windows, se escribirá en el mismo disco donde se ejecuta JVM.
f.getParentFile().mkdirs(); f.createNewFile();
Debe asegurarse de que existan los directorios principales antes de escribir. Puedes hacer esto por File#mkdirs()
.
File f = new File("C:/a/b/test.txt");
f.getParentFile().mkdirs();
// ...
Con Java 7 , se puede utilizar Path
, Paths
y Files
:
import java.io.IOException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateFile {
public static void main(String[] args) throws IOException {
Path path = Paths.get("/tmp/foo/bar.txt");
Files.createDirectories(path.getParent());
try {
Files.createFile(path);
} catch (FileAlreadyExistsException e) {
System.err.println("already exists: " + e.getMessage());
}
}
}
Utilizar:
File f = new File("C:\\a\\b\\test.txt");
f.mkdirs();
f.createNewFile();
Observe que cambié las barras inclinadas a barras diagonales dobles para las rutas en el Sistema de archivos de Windows. Esto creará un archivo vacío en la ruta dada.
createNewFile()
cierto, es innecesario cuando le escribes de FileOutputStream
todos modos.
String path = "C:"+File.separator+"hello";
String fname= path+File.separator+"abc.txt";
File f = new File(path);
File f1 = new File(fname);
f.mkdirs() ;
try {
f1.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Esto debería crear un nuevo archivo dentro de un directorio
Crear nuevo archivo en ruta especificada
import java.io.File;
import java.io.IOException;
public class CreateNewFile {
public static void main(String[] args) {
try {
File file = new File("d:/sampleFile.txt");
if(file.createNewFile())
System.out.println("File creation successfull");
else
System.out.println("Error while creating File, file already exists in specified path");
}
catch(IOException io) {
io.printStackTrace();
}
}
}
Salida del programa:
Creación de archivos exitosa
Sorprendentemente, muchas de las respuestas no dan un código de trabajo completo. Aquí está:
public static void createFile(String fullPath) throws IOException {
File file = new File(fullPath);
file.getParentFile().mkdirs();
file.createNewFile();
}
public static void main(String [] args) throws Exception {
String path = "C:/donkey/bray.txt";
createFile(path);
}
Para crear un archivo y escribir alguna cadena allí:
BufferedWriter bufferedWriter = Files.newBufferedWriter(Paths.get("Path to your file"));
bufferedWriter.write("Some string"); // to write some data
// bufferedWriter.write(""); // for empty file
bufferedWriter.close();
Esto funciona para Mac y PC.
Para usar FileOutputStream intente esto:
public class Main01{
public static void main(String[] args) throws FileNotFoundException{
FileOutputStream f = new FileOutputStream("file.txt");
PrintStream p = new PrintStream(f);
p.println("George.........");
p.println("Alain..........");
p.println("Gerard.........");
p.close();
f.close();
}
}