我尝试使用以下代码创建文件:
import java.io.File;
public class DeleteEvidence {
public static void main(String[] args) {
File evidence = new File("cookedBooks.txt");
但是,文件cookedBooks.txt
在我的计算机上的任何位置都不存在。我对此很陌生,所以我在理解其他类似问题的线程时遇到了问题。
答案 0 :(得分:5)
您已成功创建了类File
的实例,这与在硬盘中创建实际文件非常不同。
File
类的实例用于引用磁盘上的文件。您可以将它们用于许多事情,例如:
要在硬盘中创建文件并向其中写入一些数据,您可以使用FileOutputStream
。
public class AnExample {
public static void main(String... args) throws Throwable {
final File file = new File("file.dat");
try (FileOutputStream fos = new FileOutputStream(file);
DataOutputStream out = new DataOutputStream(fos)) {
out.writeInt(42);
}
}
}
这里,fos
实例中的FileOutputStream
,它是OutputStream
,它将写入其中的所有字节写入磁盘上的基础文件。
然后,我在DataOutputStream
周围创建FileOutputStream
的实例:这样,我们可以编写比字节和字节数组更复杂的数据类型(这是使用{{1}的唯一可能性直接)。
最后,将四个字节的数据写入文件:四个字节代表整数FileOutputStream
。请注意,如果您在文本编辑器上打开此文件,您将看到垃圾,因为上面的代码没有写入字符'4'和'2'。
另一种可能性是使用42
,这将为您提供可用于编写文本(非二进制)文件的OutputStreamWriter
实例:
Writer
在这里,您可以在文本编辑器上打开文件public class AnExample {
public static void main(String... args) throws Throwable {
final File file = new File("file.txt");
try (FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter out = new OutputStreamWriter(fos, StandardCharsets.UTF_8)) {
out.write("You can read this with a text editor.");
}
}
}
并阅读写入它的消息。
答案 1 :(得分:3)
File evidence = new File(path);
evidence.mkdirs();
evidence.createNewFile();
答案 2 :(得分:0)
File
是一个不必存在的文件的抽象概念。简单地创建File
对象实际上并不创建物理对象。
你可以(至少)两种方式做到这一点。
File
对象引用)File#createNewFile
您也可以使用File#createTempFile
创建临时文件,但我认为这不是您要实现的目标。
答案 3 :(得分:0)
您只创建了一个可以表示文件的对象。这只是在记忆中。如果您想访问该文件,请务必使用FileInputStream
或FileOutputStream
。然后它也将在驱动器上创建(如果是输出流)。
FileOutputStream fo = new FileOutputStream(new File(oFileName));
fo.write("test".getBytes());
fo.close();
答案 4 :(得分:0)
这只是你通过使用这个对象创建文件对象你需要调用一个方法,即createFile()方法..
所以使用evidence.createNewFile();如果你只是创建文件。 否则,如果您想在任何特定位置创建文件,请指定您的文件名 即文件证据=新文件(“路径”); 在这种情况下,如果你指定任何directoty
答案 5 :(得分:0)
String path="abc.txt";
File file = new File(path);
if (file.createNewFile()) {
System.out.println("File is created");
}
else {
System.out.println("File is already created");
}
FileWriter fw = new FileWriter(file, true);
string ab="Hello";
fw.write(ab);
fw.write(summary);
fw.close();