base64 кодирование сжатой папки в java - PullRequest
0 голосов
/ 16 марта 2012

Моя задача состоит в том, чтобы base64 закодировать заархивированную папку.Я использую Apache Commons-Codec для выполнения этой функции.Но я просто могу отдельно кодировать файлы и помещать их в zip-папку, а не наоборот.Кто-нибудь может направить меня по этому поводу?Настоящим я прилагаю то, что я пробовал;

                     try
                   {
                      ZipOutputStream out = new ZipOutputStream
                      (new FileOutputStream("G:\\new.zip"));
                      byte[] data = new byte[1000]; 
                      File file = new File("G:\\test1.txt");
                      BufferedInputStream in = new BufferedInputStream
                      (new FileInputStream(file));
                       int count;
                       out.putNextEntry(new ZipEntry(file.getName()));
                       while((count = in.read(data,0,1000)) != -1)
                       {  
                      out.write(data, 0, count);
                       }
                      in.close();
                      out.flush();
                      out.close();
                      System.out.println("zipped");
                       }
                      catch(Exception e)
                       {
                      e.printStackTrace();
                      }  
                    }

Приведенный выше код помог мне в архивировании файлов в папку и для кодирования этой папки, я добавил этот фрагмент кода, который дает мне много ошибок;

              byte encodedBuf[] = new byte[(int) f.length()];
              in.read(encodedBuf);
              byte enc [] = org.apache.commons.codec.binary.Base64.encodeBase64(encodedBuf);
              out.write(enc, 0, enc.length);

               }

Моя проблема заключается в части интеграции.Я не уверен, как интегрировать это, чтобы получить зашифрованную zip-папку.

...