2013-08-28 3 views
-1

У меня есть код, чтобы декодировать строку следующим образом:исключение при запуске программы декодирования

public static void main(String[] args) throws IOException { 
    String base64="anybase64value"  
    byte[] bytes = Base64.decodeBase64(base64); 
    String tempDir = System.getProperty("java.io.tmpdir"); 
    System.out.println(System.getProperty("java.io.tmpdir")); 
    String testFileName = "/tmp/" + "base64.xlsx"; 

    FileOutputStream fos = new FileOutputStream(new File(testFileName)); 
    IOUtils.write(bytes, fos); 
    System.out.println("Wrote " + bytes.length + " bytes to: " + testFileName); 
} 

, но когда я бегу он бросает мне ошибку:

The method write(byte[], OutputStream) in the type IOUtils is not applicable for the arguments (byte[], File) 
The method close() is undefined for the type File 
+4

Что такое класс «IOUtils»? Это из Apache Commons? Вы получаете исключение или ошибку компиляции? И на какой линии это произошло? – LaurentG

+1

Ваша программа, похоже, не соответствует сообщению об ошибке, которое вы указали. Вы даже не называете 'close' нигде. – takteek

+1

Странно. Глядя на этот код, кажется, что ошибка, которую вы получаете, не вызвана этими строками: я подтверждаю, что ваш fos НЕ является файлом;) – Julien

ответ

1

Это происходит потому, что вы пытаетесь для вызова метода write в sun.misc.IOUtils, в rt.jar. Вам нужно использовать импорт org.apache.commons.io.IOUtils. Возможно, неправильный импорт.

Смежные вопросы