java如果文件存在则覆盖
时间: 2023-11-26 17:02:38 浏览: 30
在Java中,如果你想覆盖一个已经存在的文件,可以使用FileOutputStream类。这个类的构造函数可以接受一个文件名和一个布尔值,布尔值指定是否追加到文件末尾。如果这个值为false,表示覆盖原有文件内容。
以下是一个例子:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Example {
public static void main(String[] args) {
File file = new File("example.txt");
try (FileOutputStream fos = new FileOutputStream(file, false)) {
String content = "Hello, world!";
fos.write(content.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序会创建一个名为“example.txt”的文件,如果这个文件已经存在,它的内容会被覆盖为“Hello, world!”。如果这个文件不存在,它会被创建并写入“Hello, world!”。
相关问题
Java 创建文件覆盖
你可以使用Java的FileOutputStream类和BufferedOutputStream类来创建一个文件并覆盖已存在的同名文件。以下是一个示例代码:
```java
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateFileExample {
public static void main(String[] args) {
String fileName = "example.txt";
String fileContent = "This is an example file.";
try {
FileOutputStream fos = new FileOutputStream(fileName);
BufferedOutputStream bos = new BufferedOutputStream(fos);
bos.write(fileContent.getBytes());
bos.flush();
bos.close();
fos.close();
System.out.println("File created successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,如果文件名为"example.txt"的文件已经存在,则会被覆盖。如果想要追加内容而不是覆盖文件,可以使用FileOutputStream的构造函数,将第二个参数设置为true。例如:
```java
FileOutputStream fos = new FileOutputStream(fileName, true);
```
这将在文件末尾添加新内容,而不是覆盖整个文件。
java写入文件不覆盖
如果您想要以追加模式将数据写入文件,而不是覆盖之前的内容,您可以使用Java中的FileWriter类以及它的构造函数,指定为追加模式。
以下是一个示例代码片段,演示如何以追加模式将文本添加到文件中:
```java
try {
FileWriter writer = new FileWriter("example.txt", true); // 第二个参数为 true 表示以追加模式写入
writer.write("这是要追加的文本内容");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
```
这样,如果文件"example.txt"已经存在,执行上述代码后,新写入的文本内容将被添加到文件的末尾,而不是覆盖原有内容。