復制圖片顯示成功的,但是打開卻說已損壞,查看復制后的圖片發現只有4個位元組。





uj5u.com熱心網友回復:
復制圖片實際上是通過檔案的輸入輸出流實作對檔案的讀與寫寫的是位元組或者字符。
你看你的代碼accept = fip.read()
accept你寫成了int型,那么你寫的就是每次位元組讀取的下標,沒有寫位元組,所以你復制的圖片是損壞的
fip.read()回傳的是每次寫入的下標,你要換成byte陣列。才能寫入位元組
以下是我以前寫的一段,我用的字符流,你把chars換成位元組陣列就行了,你可以參考下
InputStreamReader isr = null;
try {
// copyFile("C:\\Users\\Administrator\\Desktop\\test.txt", "C:\\Users\\Administrator\\Desktop\\test_copy.txt", false);
File file = new File("C:\\Users\\Administrator\\Desktop\\test.txt");
isr = new InputStreamReader(new FileInputStream(file), "utf-8");
char[] chars = new char[1024];
while (isr.read(chars) != -1) {
System.out.println(new String("gbk", chars));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
isr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
uj5u.com熱心網友回復:
為什么我運行可以呢uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
我這樣復制圖片沒有問題
uj5u.com熱心網友回復:
我也是一樣的問題 請問你找到解決方法了嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/232687.html
標籤:Eclipse
上一篇:tomcat 運行java web專案一段時間閃退 問題
下一篇:java Swing開發怎么點擊JButton對JTable選中的行進行操作(現在點擊按鈕輸出-1,就是不能選中行)
