Как преобразовать определенный файл в строку? А затем из этой строки получить исходный файл? Это нужно реализовать, используя Java.
Это был бы отличный пример кода или ссылка на учебник.
Необходимо преобразовать весь файл (не содержимое) в строку, а затем строку в файл.
Спасибо.
Примечание: в обоих случаях ниже вам нужно будет поставить цифровую подпись вашего апплета, чтобы ему были предоставлены разрешения на чтение / запись из / в файловую систему!
Если вы можете использовать внешние библиотеки, используйте Apache commons-io (вам также придется подписывать эти jar-файлы)
FileUtils.readFileToString(..)
FileUtils.writeStringToFile(..)
Если вы не можете, вы можете увидеть этот урок .
Это для текстовых файлов - но если вы хотите читать двоичные файлы (например, .png), вы должны не читать его как строку. Вместо этого прочитайте его как byte[] и используйте commons-codec -
byte[]
кодировать: String base64String = new String(Base64.encodeBase64(byteArray));
String base64String = new String(Base64.encodeBase64(byteArray));
декодирование: byte[] originalBytes = Base64.decodeBase64(string.getByte());
byte[] originalBytes = Base64.decodeBase64(string.getByte());
Base64 - строковый формат для хранения двоичных данных.
public static String getFileContent(File file) throws IOException { FileReader in=new FileReader(file); StringWriter w= new StringWriter(); char buffer[]=new char[2048]; int n=0; while((n=in.read(buffer))!=-1) { w.write(buffer, 0, n); } w.flush(); in.close(); return w.toString(); } public static void toFileContent(String s,File file) throws IOException { FileWriter f=new FileWriter(file); f.write(s); f.flush(); f.close(); }