java生成的文件没有扩展名,为什么?

sdfdd 2018-12-19 07:59:02
我从文件中读取ansiii字符串及图像数据,然后重写入新文件,新文件没有扩展名,这是为什么?
大体代码如下:
String[] nStr;
BufferedImage nBuf;
RandomAccessFile nRa = new RandomAccessFile(test.pak,"r");
byte[] nBye = new byte[8];

for(int i = 0:i < 5;i++){
nRa.read(nBye);
nStr[i] = new String(nBye,"iso8559-1");
图像数据获取过程略过
ImageIO.write(nBuf,"PNG",new File(nStr[i] + ".png"));
}
...全文
1517 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdfdd 2018-12-26
  • 打赏
  • 举报
回复
png,jpg都试过了,没用
weixin_40141910 2018-12-24
  • 打赏
  • 举报
回复
我也觉得是系统支持问题、你可以先换一个格式输出试一下。
幽饮烛 2018-12-22
  • 打赏
  • 举报
回复
代码改了之后正常编译了吗
sdfdd 2018-12-22
  • 打赏
  • 举报
回复
编译正常通过,执行也没异常输出,输出的文件内容正确。另外在pe环境下执行有扩展名,怪事
sdfdd 2018-12-21
  • 打赏
  • 举报
回复
我还是重装系统试试吧
聪头 2018-12-21
  • 打赏
  • 举报
回复
系统隐藏了吧
qq_39936465 2018-12-20
  • 打赏
  • 举报
回复
那明显是你系统问题,无法识别png文件类型。你去安装一个编辑图片的应用photoshop ,或者美图看看试试,还不行就只能重装系统了。下面是我在本机测试的程序。


public class test7 {

public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedImage image = null;
File f = new File("D:\\111.jpg");
try {
image = ImageIO.read(f);
String str="d:\\out";
ImageIO.write(image, "PNG",new File(str+".png"));
ImageIO.write(image, "JPG",new File(str+".jpg"));
ImageIO.write(image, "GIF",new File(str+".gif"));

} catch (IOException e) {
e.printStackTrace();
}
System.out.println("成功写入D盘");

}

}


下图是结果,一切正常。



sdfdd 2018-12-20
  • 打赏
  • 举报
回复
已经按着你说的去做了,没用
sdfdd 2018-12-20
  • 打赏
  • 举报
回复
这是我的

(红色是我已生成的文件,没有扩展名,另外png,gif,jpg都能正常显示扩展名并且能正常打开)
qq_39936465 2018-12-20
  • 打赏
  • 举报
回复


我说的是上图的选项,有勾的话去掉勾。
十八道胡同 2018-12-19
  • 打赏
  • 举报
回复
文件扩展名 需要自己制定的吧
sdfdd 2018-12-19
  • 打赏
  • 举报
回复
试过勾选显示隐藏文件还是一样,Windows显示未知文件
qq_39936465 2018-12-19
  • 打赏
  • 举报
回复
不是java 的问题。如果是windows 操作系统,看看是否隐藏已知文件类型的扩展名上打勾了。
sdfdd 2018-12-19
  • 打赏
  • 举报
回复
我已添加扩展名,但是输出时仍没扩展名

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧