Câu trả lời:
Cách tốt nhất để làm điều đó là:
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")
công việc cho cả hai hệ thống. Trên Windows, nó sẽ được ghi vào cùng một đĩa khi JVM chạy.
f.getParentFile().mkdirs(); f.createNewFile();
Bạn cần đảm bảo rằng các thư mục cha tồn tại trước khi viết. Bạn có thể làm điều này bằng cách File#mkdirs()
.
File f = new File("C:/a/b/test.txt");
f.getParentFile().mkdirs();
// ...
Với Java 7 , bạn có thể sử dụng Path
, Paths
và 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());
}
}
}
Sử dụng:
File f = new File("C:\\a\\b\\test.txt");
f.mkdirs();
f.createNewFile();
Lưu ý rằng tôi đã thay đổi dấu gạch chéo về phía trước để tăng gấp đôi dấu gạch chéo cho các đường dẫn trong Hệ thống tệp Windows. Điều này sẽ tạo ra một tập tin trống trên đường dẫn đã cho.
createNewFile()
là bằng cách không cần thiết khi bạn viết thư cho nó với FileOutputStream
anyway.
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();
}
}
Điều này sẽ tạo ra một tập tin mới trong một thư mục
Tạo tệp mới trong đường dẫn được chỉ định
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();
}
}
}
Chương trình đầu ra:
Tạo tập tin thành công
Đáng ngạc nhiên, nhiều câu trả lời không cung cấp mã làm việc hoàn chỉnh. Đây là:
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);
}
Để tạo một tập tin và viết một số chuỗi ở đó:
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();
Điều này hoạt động cho Mac và PC.
Để sử dụng FileOutputStream, hãy thử điều này:
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();
}
}