Android Open Source - HapiPodcastJ Zip Exporter From Project Back to project page HapiPodcastJ .
License The source code is released under:
GNU General Public License
If you think the Android project HapiPodcastJ listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package info.xuluan.podcast.utils;
/ / f r o m w w w . j a v a 2 s . c o m
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.zip.ZipOutputStream;
import android.app.Activity;
import android.text.TextUtils;
import android.widget.Toast;
public class ZipExporter {
public interface ContentWriter {
void writeContent(ZipOutputStream zos) throws IOException;
}
public static void exportToZipFile(Activity act, String filename, ContentWriter cw) {
String filepath = SDCardMgr.getExportDir()+"/" +filename;
File outFile = new File (filepath);
ZipOutputStream zos = null;
Toast.makeText(act, "Please wait... " , Toast.LENGTH_LONG).show();
try {
FileOutputStream os = new FileOutputStream(outFile);
zos = new ZipOutputStream(new BufferedOutputStream(os));
zos.setLevel(0); //mp3 files don't compress well, and our XML is small
cw.writeContent(zos);
zos.close();
zos = null;
Toast.makeText(act, "Exported zip file to : " + filepath,
Toast.LENGTH_LONG).show();
} catch (IOException ex) {
ex.printStackTrace();
Toast.makeText(act, "Export zip failed " ,
Toast.LENGTH_LONG).show();
} finally {
try {
if (zos!=null)
zos.close();
} catch (Exception ex) {}
}
}
public static String getExportZipFileName(String base)
{
base = base.replaceAll("[\\s\\\\:\\<\\>\\[\\]\\*\\|\\/\\?\\{\\}\\'\\\"]+" , "_" );
return base+".zip" ;
}
public static void writeTagLine(PrintWriter out, String tag, int level, boolean isStart) {
writeIndent(out,level);
out.print("<" +(isStart?"" :"/" )+tag+">\n" );
}
public static void writeXmlField(PrintWriter out, String fieldName, long value, int level) {
writeXmlField(out, fieldName, Long.toString(value), level);
}
public static void writeXmlField(PrintWriter out, String fieldName, String text, int level) {
if (text==null)
return ;
writeIndent(out,level);
out.print("<" +fieldName+">" );
out.print(TextUtils.htmlEncode(text).toString());
out.print("</" +fieldName+">\n" );
}
public static void writeIndent(PrintWriter out, int level) {
for (; level>0; level--)
out.print(" " ); //indent
}
}
Java Source Code List info.xuluan.podcast.AddChannelActivity.java info.xuluan.podcast.BackupChannelsActivity.java info.xuluan.podcast.ChannelActivity.java info.xuluan.podcast.ChannelDetailsActivity.java info.xuluan.podcast.ChannelsActivity.java info.xuluan.podcast.DownloadActivity.java info.xuluan.podcast.EpisodeDetailsActivity.java info.xuluan.podcast.EpisodeIcons.java info.xuluan.podcast.EpisodesActivity.java info.xuluan.podcast.FlingGestureDetector.java info.xuluan.podcast.Flingable.java info.xuluan.podcast.HapiActivity.java info.xuluan.podcast.HapiListActivity.java info.xuluan.podcast.HapiPreferenceActivity.java info.xuluan.podcast.HomeActivity.java info.xuluan.podcast.MainActivity.java info.xuluan.podcast.PlayerActivity.java info.xuluan.podcast.PodcastBaseActivity.java info.xuluan.podcast.PodcastTab.java info.xuluan.podcast.Pref.java info.xuluan.podcast.SearchActivity.java info.xuluan.podcast.StartupActivity.java info.xuluan.podcast.TabsHelper.java info.xuluan.podcast.actionbar.ActionBarHelperBase.java info.xuluan.podcast.actionbar.ActionBarHelperHoneycomb.java info.xuluan.podcast.actionbar.ActionBarHelperICS.java info.xuluan.podcast.actionbar.ActionBarHelper.java info.xuluan.podcast.actionbar.SimpleMenuItem.java info.xuluan.podcast.actionbar.SimpleMenu.java info.xuluan.podcast.fetcher.FeedFetcher.java info.xuluan.podcast.fetcher.Response.java info.xuluan.podcast.parser.FeedHandler.java info.xuluan.podcast.parser.FeedParserHandler.java info.xuluan.podcast.parser.FeedParserListenerInterface.java info.xuluan.podcast.parser.FeedParserListener.java info.xuluan.podcast.parser.FeedParser.java info.xuluan.podcast.parser.OPMLParserHandler.java info.xuluan.podcast.parser.SearchItem.java info.xuluan.podcast.provider.FeedItem.java info.xuluan.podcast.provider.ItemColumns.java info.xuluan.podcast.provider.PodcastOpenHelper.java info.xuluan.podcast.provider.PodcastProvider.java info.xuluan.podcast.provider.SubscriptionColumns.java info.xuluan.podcast.provider.Subscription.java info.xuluan.podcast.service.PlayerService.java info.xuluan.podcast.service.PodcastService.java info.xuluan.podcast.utils.DialogMenu.java info.xuluan.podcast.utils.FileUtils.java info.xuluan.podcast.utils.IconCursorAdapter.java info.xuluan.podcast.utils.LabeledFrame.java info.xuluan.podcast.utils.LockHandler.java info.xuluan.podcast.utils.Log.java info.xuluan.podcast.utils.SDCardMgr.java info.xuluan.podcast.utils.StrUtils.java info.xuluan.podcast.utils.ZipExporter.java info.xuluan.podcast.utils.ZipImporter.java