IO流将图片存放到工程文件下,这里为了避免图片命名重复,我统一使用的是时间戳的形式来保存
时间: 2024-12-28 17:35:02 浏览: 3
在Java中,当你需要通过IO流处理图片并存储到工程文件夹下,为了避免文件名冲突,采用时间戳是一个常见的做法。时间戳可以作为文件名的一部分,因为它始终保持唯一,格式通常像“image_yyyyMMdd_HHmmss.jpg”。这样做的步骤通常是:
1. 创建一个随机或当前的时间戳字符串。
2. 将图片转换为字节流(InputStream)。
3. 创建一个新的File对象,指定存储路径加上时间戳作为文件名。
4. 使用FileOutputStream将字节流写入新文件。
5. 关闭所有流。
示例代码(简化版):
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public void saveImageWithTimestamp(String imageName) {
File dir = new File("工程文件目录"); // 替换为你实际的文件夹路径
if (!dir.exists()) {
dir.mkdir();
}
String timestamp = System.currentTimeMillis() + ".jpg"; // 添加.jpg后缀
File outputFile = new File(dir, timestamp);
try (FileInputStream fis = new FileInputStream(imageName);
FileOutputStream fos = new FileOutputStream(outputFile)) {
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) != -1) {
fos.write(buffer, 0, length);
}
fos.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
```
阅读全文