【发布时间】:2020-08-11 23:46:00
【问题描述】:
所以我编写了这段代码,将文件从一个文件夹复制到另一个文件夹! 它适用于 .mp3 .wav .jpeg.jpg 文件
但它不适用于 .png 文件! (图像被破坏或丢失一半)
有没有一种方法可以编辑代码是否适用于 .png 文件? 如果没有,我该如何复制它们?
我还想补充一个问题!当前代码适用于我的电脑
因为这条路径D:\\move\\1\\1.mp3存在于我的电脑上!
如果我将我的程序转换为 .exe 文件并将其提供给其他人,它就不起作用,因为他的计算机上不存在该路径! 所以代替这一行
FileInputStream up = new FileInputStream("D:\\move\\1\\images\\1.jpg");
我想做类似的东西
FileInputStream up = new FileInputStream(findAppFolder+"\\images\\1.jpg");
代码:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
FileInputStream up = new FileInputStream("D:\\move\\1\\images\\1.jpg");
FileOutputStream down = new FileOutputStream("D:\\move\\2\\images\\2.jpg");
BufferedInputStream ctrl_c = new BufferedInputStream(up);
BufferedOutputStream ctrl_v = new BufferedOutputStream(down);
int b=0;
while(b!=-1){
b=ctrl_c.read();
ctrl_v.write(b);
}
ctrl_c.close();
ctrl_v.close();
}
}
【问题讨论】:
-
我不完全确定它是否能解决问题,但您也许可以尝试使用
Path和Files类(来自“新”java.nio包)复制文件而不是普通文件流。 -
..而且,我无法重现 - png 被上述代码复制,没有问题
标签: java file copy bufferedinputstream bufferedoutputstream