我尝试使用以下代码创建文件:
import java.io.File;
public class DeleteEvidence {
public static void main(String[] args) {
File evidence = new File("cookedBooks.txt");
但是,该文件cookedBooks.txt
在我的计算机上的任何地方都不存在。我对此很陌生,所以我在理解其他关于类似问题的线程时遇到了问题。
您已经成功创建了 class 的实例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
这样,我们可以编写比字节和字节数组更复杂的数据类型(这是您FileOutputStream
直接使用的唯一可能性)。
最后,将四个字节的数据写入文件:四个字节表示整数42
。请注意,如果您在文本编辑器上打开此文件,您会看到垃圾,因为上面的代码没有写入字符“4”和“2”。
另一种可能性是使用,这将为您提供一个可用于编写文本(非二进制)文件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.");
}
}
}
在这里,您可以file.txt
在文本编辑器上打开文件并阅读写入其中的消息。
File evidence = new File(path);
evidence.mkdirs();
evidence.createNewFile();
File
是文件的抽象概念,不必存在。简单地创建一个File
对象实际上并不能创建一个物理对象。
您可以(至少)通过两种方式做到这一点。
File
向文件写入内容(抽象对象的引用)File#createNewFile
您也可以使用创建临时文件,File#createTempFile
但我认为这不是您想要实现的目标。
您只创建了一个可以表示文件的对象。这只是在记忆中。如果您想访问该文件,您必须使用 eaFileInputStream
或FileOutputStream
. 然后它也将在驱动器上创建(在输出流的情况下)。
FileOutputStream fo = new FileOutputStream(new File(oFileName));
fo.write("test".getBytes());
fo.close();
这只是您使用此对象创建文件对象,您需要调用一种方法,即 createFile() 方法。
所以使用evidence.createNewFile(); 如果您只是创建文件。否则,如果您想在任何特定位置创建文件,请指定您的文件名,即 File evidence=new File("path"); 在这种情况下,如果您指定任何directoty
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();