2013-08-21 83 views
0

我試圖保存一個xls文件,但它工作正常,但是當我打開該文件時,出現了錯誤「一個文件與其擴展名錶示「不同的文件格式」。 看來該文件已損壞。 這裏是我的代碼:使用FileInputStream保存xls文件:文件格式與其擴展名不同

 File ff= new File("c.xls"); 
     FileInputStream inn = new FileInputStream(ff); 
     OutputStream stt=new FileOutputStream("d.xls"); 
     stt.write(inn.read()); 
     stt.close(); 
+0

它是一個Excel 2007+文件嗎? –

+0

是的,它是一個2007年的文件! – GSDa

+0

2007的excel擴展名是.xlsx –

回答

1
stt.write(inn.read()); 

只讀取一個字節。你需要遍歷輸入文件,寫出你讀的內容。

+0

以及如何做到這一點!我試過這個代碼,但它不起作用 'FileInputStream inn = new FileInputStream(ff); OutputStream stt = new FileOutputStream(「b.txt」); byte [] buffer = new byte [1024]; //如果你想要調整 int bytesRead; ((bytesRead = inn.read(buffer))!= -1) \t stt.write(buffer,0,bytesRead); };' – GSDa

+0

在第一個視圖上看起來沒問題。 「你不工作」是什麼意思?你會收到錯誤消息嗎?輸出文件是否有錯誤的文件大小? – FrankPl

+0

最後,我可以打開它沒有錯誤,與我在最後的評論中發佈的相同的代碼,我不知道爲什麼它在第一次不工作。非常感謝 ! – GSDa

相關問題