<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to patches</title><link href="https://sourceforge.net/p/universalreader/patches/" rel="alternate"/><link href="https://sourceforge.net/p/universalreader/patches/feed.atom" rel="self"/><id>https://sourceforge.net/p/universalreader/patches/</id><updated>2008-09-02T14:30:03Z</updated><subtitle>Recent changes to patches</subtitle><entry><title>data class for parsing the html files using java regexp</title><link href="https://sourceforge.net/p/universalreader/patches/9/" rel="alternate"/><published>2008-09-02T14:30:03Z</published><updated>2008-09-02T14:30:03Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.neteacded48319196bd1531c1dfb903a2071118cfc3</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;import java.util.regex.Matcher;&lt;br /&gt;
import java.util.regex.Pattern;&lt;/p&gt;
&lt;p&gt;import javax.swing.tree.DefaultMutableTreeNode;&lt;/p&gt;
&lt;p&gt;/**&lt;br /&gt;
* &lt;br /&gt;
* @author rajeev kumar&lt;br /&gt;
* &amp;lt;b&amp;gt; it is data class which is only used for inherittance&amp;lt;/b&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
*&lt;br /&gt;
*/&lt;br /&gt;
public class DataClass&lt;br /&gt;
{&lt;br /&gt;
     public long timer;&lt;br /&gt;
     Pattern pattern=null;&lt;br /&gt;
     Pattern patternextractedvalue=null;&lt;br /&gt;
     String patternString=null;&lt;br /&gt;
     Matcher matcher1=null;&lt;br /&gt;
     Matcher matcherextractedvalue = null;&lt;br /&gt;
     Matcher matcherendultag = null;&lt;br /&gt;
     Pattern pattern1=null;&lt;br /&gt;
     String patternString1=null;&lt;br /&gt;
     Matcher matcher2=null;&lt;br /&gt;
     Pattern pattern2=null;&lt;br /&gt;
     String patternString2=null;&lt;br /&gt;
     Matcher matcher3=null;&lt;br /&gt;
     Pattern pattern3=null;&lt;br /&gt;
     String patternString3=null;&lt;br /&gt;
     Matcher matcher=null;&lt;br /&gt;
     boolean found ;&lt;br /&gt;
     long start;&lt;br /&gt;
     long end;&lt;br /&gt;
     int startindex=0;&lt;br /&gt;
     int endindex=0;&lt;br /&gt;
     int lastmatchend;&lt;br /&gt;
     String beginandspace=null; &lt;br /&gt;
     String digit=null ;&lt;br /&gt;
     String compulsoryspace=null ;&lt;br /&gt;
     String hexdigit=null ;&lt;br /&gt;
     String variablepattern=null;&lt;br /&gt;
     String delimeterendpattern=null;&lt;br /&gt;
     String textdelimeter=null;&lt;br /&gt;
     String patternfound=null;&lt;br /&gt;
     String patternfound1=null;&lt;br /&gt;
     String inbetween=null;&lt;br /&gt;
     String startultag = null;&lt;br /&gt;
     String endultag = null;&lt;br /&gt;
     String extractvalue=null;&lt;br /&gt;
     String extractedvalue=null;&lt;br /&gt;
     String tobeadded;&lt;br /&gt;
     static  DefaultMutableTreeNode root;&lt;br /&gt;
     DefaultMutableTreeNode node = new DefaultMutableTreeNode();&lt;br /&gt;
}&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>run time adjustment of engine is good.</title><link href="https://sourceforge.net/p/universalreader/patches/8/" rel="alternate"/><published>2008-09-02T09:57:34Z</published><updated>2008-09-02T09:57:34Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.net5f4c8bbc2487b29abc5e37d99482dfad49884b50</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;here all the data member is static to take care of their single instances.&lt;/p&gt;
&lt;p&gt;public void  setVolume(float sV)&lt;br /&gt;
{&lt;br /&gt;
    volumeRate=sV;&lt;br /&gt;
     helloVoice.setVolume(volumeRate);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;public void  setSpeakingRate(float sR)&lt;br /&gt;
{&lt;br /&gt;
    speakingRate=sR;&lt;br /&gt;
    helloVoice.setRate(speakingRate);&lt;/p&gt;
&lt;p&gt;}&lt;br /&gt;
public void  setPitch(float sP)&lt;br /&gt;
{&lt;br /&gt;
    pitchRate=sP;&lt;br /&gt;
     helloVoice.setPitch(pitchRate);&lt;br /&gt;
}&lt;br /&gt;
public void setRange(float sR)&lt;br /&gt;
{&lt;br /&gt;
    rangeRate=sR;&lt;br /&gt;
    helloVoice.setRate(speakingRate);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;private static  VoiceManager voiceManager;&lt;br /&gt;
private  static  Voice helloVoice;&lt;br /&gt;
private static float volumeRate=10;&lt;br /&gt;
private static float speakingRate=150;&lt;br /&gt;
private static float rangeRate=12;&lt;br /&gt;
private static float pitchRate=100;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>tags remaining</title><link href="https://sourceforge.net/p/universalreader/patches/7/" rel="alternate"/><published>2008-09-01T13:09:29Z</published><updated>2008-09-01T13:09:29Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.net972171b872c03fede2a4d9a6e2e0f3b1766aba83</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;tags are remaining&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>speech engine improved</title><link href="https://sourceforge.net/p/universalreader/patches/6/" rel="alternate"/><published>2008-09-01T13:09:09Z</published><updated>2008-09-01T13:09:09Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netaff0bd4194c63291459a0b2eaf0eff730c582cdd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;the new code for the speech engine is :&lt;/p&gt;
&lt;p&gt;/**&lt;br /&gt;
* Copyright 2003 Sun Microsystems, Inc.&lt;br /&gt;
* &lt;br /&gt;
* See the file "license.terms" for information on usage and&lt;br /&gt;
* redistribution of this file, and for a DISCLAIMER OF ALL &lt;br /&gt;
* WARRANTIES.&lt;br /&gt;
*/&lt;br /&gt;
import com.sun.speech.freetts.Voice;&lt;br /&gt;
import com.sun.speech.freetts.VoiceManager;&lt;/p&gt;
&lt;p&gt;/**&lt;br /&gt;
* Simple program to demonstrate the use of the FreeTTS speech&lt;br /&gt;
* synthesizer.  This simple program shows how to use FreeTTS&lt;br /&gt;
* without requiring the Java Speech API (JSAPI).&lt;br /&gt;
*/&lt;br /&gt;
public class FreeTTS {&lt;/p&gt;
&lt;p&gt;public FreeTTS()&lt;br /&gt;
{&lt;br /&gt;
      String voiceName = "kevin16";;&lt;/p&gt;
&lt;p&gt;voiceManager = VoiceManager.getInstance();&lt;br /&gt;
helloVoice = voiceManager.getVoice(voiceName);&lt;/p&gt;
&lt;p&gt;if (helloVoice == null) {&lt;br /&gt;
System.err.println(&lt;br /&gt;
"Cannot find a voice named "&lt;br /&gt;
+ voiceName + ".  Please specify a different voice.");&lt;br /&gt;
System.exit(1);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;/* Allocates the resources for the voice.&lt;br /&gt;
*/&lt;br /&gt;
helloVoice.allocate();&lt;/p&gt;
&lt;p&gt;helloVoice.setVolume(volumeRate);&lt;/p&gt;
&lt;p&gt;helloVoice.setPitch(pitchRate);&lt;/p&gt;
&lt;p&gt;helloVoice.setRate(speakingRate);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;public synchronized static void speakText(String text) {&lt;/p&gt;
&lt;p&gt;/* String voiceName = "kevin16";;&lt;/p&gt;
&lt;p&gt;voiceManager = VoiceManager.getInstance();&lt;br /&gt;
helloVoice = voiceManager.getVoice(voiceName);&lt;/p&gt;
&lt;p&gt;if (helloVoice == null) {&lt;br /&gt;
System.err.println(&lt;br /&gt;
"Cannot find a voice named "&lt;br /&gt;
+ voiceName + ".  Please specify a different voice.");&lt;br /&gt;
System.exit(1);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;/* Allocates the resources for the voice.&lt;br /&gt;
*/&lt;br /&gt;
/*   helloVoice.allocate();&lt;/p&gt;
&lt;p&gt;helloVoice.setVolume(volumeRate);&lt;/p&gt;
&lt;p&gt;helloVoice.setPitch(pitchRate);&lt;/p&gt;
&lt;p&gt;helloVoice.setRate(speakingRate);&lt;/p&gt;
&lt;p&gt;*/&lt;/p&gt;
&lt;p&gt;/* Synthesize speech.&lt;br /&gt;
*/&lt;br /&gt;
helloVoice.speak(text);&lt;/p&gt;
&lt;p&gt;/* Clean up and leave.&lt;br /&gt;
*/&lt;br /&gt;
//  helloVoice.deallocate();&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;public void  setVolume(float sV)&lt;br /&gt;
{&lt;br /&gt;
    volumeRate=sV;&lt;br /&gt;
     helloVoice.setVolume(volumeRate);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;public void  setSpeakingRate(float sR)&lt;br /&gt;
{&lt;br /&gt;
    speakingRate=sR;&lt;br /&gt;
    helloVoice.setRate(speakingRate);&lt;/p&gt;
&lt;p&gt;}&lt;br /&gt;
public void  setPitch(float sP)&lt;br /&gt;
{&lt;br /&gt;
    pitchRate=sP;&lt;br /&gt;
     helloVoice.setPitch(pitchRate);&lt;br /&gt;
}&lt;br /&gt;
public void setRange(float sR)&lt;br /&gt;
{&lt;br /&gt;
    rangeRate=sR;&lt;br /&gt;
    helloVoice.setRate(speakingRate);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;private static  VoiceManager voiceManager;&lt;br /&gt;
private  static  Voice helloVoice;&lt;br /&gt;
private static float volumeRate=10;&lt;br /&gt;
private static float speakingRate=150;&lt;br /&gt;
private static float rangeRate=12;&lt;br /&gt;
private static float pitchRate=100;&lt;br /&gt;
}&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>initial url resolved</title><link href="https://sourceforge.net/p/universalreader/patches/5/" rel="alternate"/><published>2008-09-01T13:06:10Z</published><updated>2008-09-01T13:06:10Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.neta396af3595a5a82fa0afdfb2f01940338078ce60</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;/**&lt;br /&gt;
* Copyright 2003 Sun Microsystems, Inc.&lt;br /&gt;
* &lt;br /&gt;
* See the file "license.terms" for information on usage and&lt;br /&gt;
* redistribution of this file, and for a DISCLAIMER OF ALL &lt;br /&gt;
* WARRANTIES.&lt;br /&gt;
*/&lt;br /&gt;
import com.sun.speech.freetts.Voice;&lt;br /&gt;
import com.sun.speech.freetts.VoiceManager;&lt;/p&gt;
&lt;p&gt;/**&lt;br /&gt;
* Simple program to demonstrate the use of the FreeTTS speech&lt;br /&gt;
* synthesizer.  This simple program shows how to use FreeTTS&lt;br /&gt;
* without requiring the Java Speech API (JSAPI).&lt;br /&gt;
*/&lt;br /&gt;
public class FreeTTS {&lt;/p&gt;
&lt;p&gt;public FreeTTS()&lt;br /&gt;
{&lt;br /&gt;
      String voiceName = "kevin16";;&lt;/p&gt;
&lt;p&gt;voiceManager = VoiceManager.getInstance();&lt;br /&gt;
helloVoice = voiceManager.getVoice(voiceName);&lt;/p&gt;
&lt;p&gt;if (helloVoice == null) {&lt;br /&gt;
System.err.println(&lt;br /&gt;
"Cannot find a voice named "&lt;br /&gt;
+ voiceName + ".  Please specify a different voice.");&lt;br /&gt;
System.exit(1);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;/* Allocates the resources for the voice.&lt;br /&gt;
*/&lt;br /&gt;
helloVoice.allocate();&lt;/p&gt;
&lt;p&gt;helloVoice.setVolume(volumeRate);&lt;/p&gt;
&lt;p&gt;helloVoice.setPitch(pitchRate);&lt;/p&gt;
&lt;p&gt;helloVoice.setRate(speakingRate);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;public synchronized static void speakText(String text) {&lt;/p&gt;
&lt;p&gt;/* String voiceName = "kevin16";;&lt;/p&gt;
&lt;p&gt;voiceManager = VoiceManager.getInstance();&lt;br /&gt;
helloVoice = voiceManager.getVoice(voiceName);&lt;/p&gt;
&lt;p&gt;if (helloVoice == null) {&lt;br /&gt;
System.err.println(&lt;br /&gt;
"Cannot find a voice named "&lt;br /&gt;
+ voiceName + ".  Please specify a different voice.");&lt;br /&gt;
System.exit(1);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;/* Allocates the resources for the voice.&lt;br /&gt;
*/&lt;br /&gt;
/*   helloVoice.allocate();&lt;/p&gt;
&lt;p&gt;helloVoice.setVolume(volumeRate);&lt;/p&gt;
&lt;p&gt;helloVoice.setPitch(pitchRate);&lt;/p&gt;
&lt;p&gt;helloVoice.setRate(speakingRate);&lt;/p&gt;
&lt;p&gt;*/&lt;/p&gt;
&lt;p&gt;/* Synthesize speech.&lt;br /&gt;
*/&lt;br /&gt;
helloVoice.speak(text);&lt;/p&gt;
&lt;p&gt;/* Clean up and leave.&lt;br /&gt;
*/&lt;br /&gt;
//  helloVoice.deallocate();&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;public void  setVolume(float sV)&lt;br /&gt;
{&lt;br /&gt;
    volumeRate=sV;&lt;br /&gt;
     helloVoice.setVolume(volumeRate);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;public void  setSpeakingRate(float sR)&lt;br /&gt;
{&lt;br /&gt;
    speakingRate=sR;&lt;br /&gt;
    helloVoice.setRate(speakingRate);&lt;/p&gt;
&lt;p&gt;}&lt;br /&gt;
public void  setPitch(float sP)&lt;br /&gt;
{&lt;br /&gt;
    pitchRate=sP;&lt;br /&gt;
     helloVoice.setPitch(pitchRate);&lt;br /&gt;
}&lt;br /&gt;
public void setRange(float sR)&lt;br /&gt;
{&lt;br /&gt;
    rangeRate=sR;&lt;br /&gt;
    helloVoice.setRate(speakingRate);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;private static  VoiceManager voiceManager;&lt;br /&gt;
private  static  Voice helloVoice;&lt;br /&gt;
private static float volumeRate=10;&lt;br /&gt;
private static float speakingRate=150;&lt;br /&gt;
private static float rangeRate=12;&lt;br /&gt;
private static float pitchRate=100;&lt;br /&gt;
}&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>url engine</title><link href="https://sourceforge.net/p/universalreader/patches/4/" rel="alternate"/><published>2008-08-30T12:40:56Z</published><updated>2008-08-30T12:40:56Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.net0655a0e305f11fbc8f5cb68ce81260a4eb628663</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;/**&lt;br /&gt;
this class makes a url connection with the specified url&lt;br /&gt;
*/&lt;/p&gt;
&lt;p&gt;import java.io.*;&lt;br /&gt;
import java.net.*;&lt;br /&gt;
import java.util.*;&lt;/p&gt;
&lt;p&gt;/**&lt;br /&gt;
this class adds all the readable data from sites to the textArea from where to read the file&lt;br /&gt;
*/&lt;/p&gt;
&lt;p&gt;public class URLConnectionTest&lt;br /&gt;
{&lt;br /&gt;
public  void getData(String urlName)&lt;br /&gt;
{&lt;br /&gt;
       PlayerModelImpl playerImpl = new PlayerModelImpl();&lt;br /&gt;
try&lt;br /&gt;
{ &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="o"&gt;/\*\*&lt;/span&gt;
  &lt;span class="o"&gt;\*&lt;/span&gt; &lt;span class="n"&gt;making&lt;/span&gt; &lt;span class="n"&gt;an&lt;/span&gt; &lt;span class="n"&gt;instance&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;  
  &lt;span class="o"&gt;\*/&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;URL url = new URL(urlName);&lt;/p&gt;
&lt;p&gt;/**&lt;br /&gt;
* opening the urlConnection&lt;br /&gt;
* this is the beauty of url class we don't have to explicitly&lt;br /&gt;
* use sockets url class handles all the other things&lt;br /&gt;
*/&lt;/p&gt;
&lt;p&gt;URLConnection connection = url.openConnection();&lt;/p&gt;
&lt;p&gt;connection.connect();&lt;/p&gt;
&lt;p&gt;// print header fields&lt;/p&gt;
&lt;p&gt;int n = 1;&lt;br /&gt;
String key;&lt;br /&gt;
while ((key = connection.getHeaderFieldKey(n)) != null)&lt;br /&gt;
{&lt;br /&gt;
String value = connection.getHeaderField(n);&lt;br /&gt;
System.out.println(key + ": " + value);&lt;br /&gt;
n++;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;// print convenience functions&lt;/p&gt;
&lt;p&gt;System.out.println("----------");&lt;br /&gt;
System.out.println("getContentType: "&lt;br /&gt;
+ connection.getContentType());&lt;br /&gt;
System.out.println("getContentLength: "&lt;br /&gt;
+ connection.getContentLength());&lt;br /&gt;
System.out.println("getContentEncoding: "&lt;br /&gt;
+ connection.getContentEncoding());&lt;br /&gt;
System.out.println("getDate: "&lt;br /&gt;
+ connection.getDate());&lt;br /&gt;
System.out.println("getExpiration: "&lt;br /&gt;
+ connection.getExpiration());&lt;br /&gt;
System.out.println("getLastModifed: "&lt;br /&gt;
+ connection.getLastModified());&lt;br /&gt;
System.out.println("----------");&lt;/p&gt;
&lt;p&gt;BufferedReader in = new BufferedReader(new&lt;br /&gt;
InputStreamReader(connection.getInputStream()));&lt;/p&gt;
&lt;p&gt;playerImpl.setTextInTextArea(connection.getInputStream(), connection.getContentLength());&lt;br /&gt;
// print first ten lines of contents&lt;/p&gt;
&lt;p&gt;String line;&lt;br /&gt;
n = 1;;&lt;br /&gt;
while ((line = in.readLine()) != null )&lt;br /&gt;
{&lt;br /&gt;
System.out.println(line);&lt;br /&gt;
n++;&lt;br /&gt;
}&lt;br /&gt;
if (line != null) System.out.println(". . .");&lt;br /&gt;
}&lt;br /&gt;
catch (IOException exception)&lt;br /&gt;
{&lt;br /&gt;
exception.printStackTrace();&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;/**&lt;br /&gt;
Computes the Base64 encoding of a string&lt;br /&gt;
@param s a string&lt;br /&gt;
@return the Base 64 encoding of s&lt;br /&gt;
*/&lt;br /&gt;
public static String base64Encode(String s)&lt;br /&gt;
{&lt;br /&gt;
ByteArrayOutputStream bOut&lt;br /&gt;
= new ByteArrayOutputStream();&lt;br /&gt;
Base64OutputStream out = new Base64OutputStream(bOut);&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
out.write(s.getBytes());&lt;br /&gt;
out.flush();&lt;br /&gt;
}&lt;br /&gt;
catch (IOException exception)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
return bOut.toString();&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;/**&lt;br /&gt;
This stream filter converts a stream of bytes to their&lt;br /&gt;
Base64 encoding.&lt;/p&gt;
&lt;p&gt;Base64 encoding encodes 3 bytes into 4 characters.&lt;br /&gt;
|11111122|22223333|33444444|&lt;br /&gt;
Each set of 6 bits is encoded according to the&lt;br /&gt;
toBase64 map. If the number of input bytes is not&lt;br /&gt;
a multiple of 3, then the last group of 4 characters&lt;br /&gt;
is padded with one or two = signs. Each output line&lt;br /&gt;
is at most 76 characters.&lt;br /&gt;
*/&lt;br /&gt;
class Base64OutputStream extends FilterOutputStream&lt;br /&gt;
{&lt;br /&gt;
/**&lt;br /&gt;
Constructs the stream filter&lt;br /&gt;
@param out the stream to filter&lt;br /&gt;
*/&lt;br /&gt;
public Base64OutputStream(OutputStream out)&lt;br /&gt;
{&lt;br /&gt;
super(out);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;public void write(int c) throws IOException&lt;br /&gt;
{&lt;br /&gt;
inbuf[i] = c;&lt;br /&gt;
i++;&lt;br /&gt;
if (i == 3)&lt;br /&gt;
{&lt;br /&gt;
super.write(toBase64[(inbuf[0] &amp;amp; 0xFC) &amp;gt;&amp;gt; 2]);&lt;br /&gt;
super.write(toBase64[((inbuf[0] &amp;amp; 0x03) &amp;lt;&amp;lt; 4) |&lt;br /&gt;
((inbuf[1] &amp;amp; 0xF0) &amp;gt;&amp;gt; 4)]);&lt;br /&gt;
super.write(toBase64[((inbuf[1] &amp;amp; 0x0F) &amp;lt;&amp;lt; 2) |&lt;br /&gt;
((inbuf[2] &amp;amp; 0xC0) &amp;gt;&amp;gt; 6)]);&lt;br /&gt;
super.write(toBase64[inbuf[2] &amp;amp; 0x3F]);&lt;br /&gt;
col += 4;&lt;br /&gt;
i = 0;&lt;br /&gt;
if (col &amp;gt;= 76)&lt;br /&gt;
{&lt;br /&gt;
super.write('\n');&lt;br /&gt;
col = 0;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;public void flush() throws IOException&lt;br /&gt;
{&lt;br /&gt;
if (i == 1)&lt;br /&gt;
{&lt;br /&gt;
super.write(toBase64[(inbuf[0] &amp;amp; 0xFC) &amp;gt;&amp;gt; 2]);&lt;br /&gt;
super.write(toBase64[(inbuf[0] &amp;amp; 0x03) &amp;lt;&amp;lt; 4]);&lt;br /&gt;
super.write('=');&lt;br /&gt;
super.write('=');&lt;br /&gt;
}&lt;br /&gt;
else if (i == 2)&lt;br /&gt;
{&lt;br /&gt;
super.write(toBase64[(inbuf[0] &amp;amp; 0xFC) &amp;gt;&amp;gt; 2]);&lt;br /&gt;
super.write(toBase64[((inbuf[0] &amp;amp; 0x03) &amp;lt;&amp;lt; 4) |&lt;br /&gt;
((inbuf[1] &amp;amp; 0xF0) &amp;gt;&amp;gt; 4)]);&lt;br /&gt;
super.write(toBase64[(inbuf[1] &amp;amp; 0x0F) &amp;lt;&amp;lt; 2]);&lt;br /&gt;
super.write('=');&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;private static char[] toBase64 =&lt;br /&gt;
{&lt;br /&gt;
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',&lt;br /&gt;
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',&lt;br /&gt;
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',&lt;br /&gt;
'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',&lt;br /&gt;
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',&lt;br /&gt;
'o', 'p', 'q', 'r', 's', 't', 'u', 'v',&lt;br /&gt;
'w', 'x', 'y', 'z', '0', '1', '2', '3',&lt;br /&gt;
'4', '5', '6', '7', '8', '9', '+', '/'&lt;br /&gt;
};&lt;/p&gt;
&lt;p&gt;private int col = 0;&lt;br /&gt;
private int i = 0;&lt;br /&gt;
private int[] inbuf = new int[3];&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>how to make jar file</title><link href="https://sourceforge.net/p/universalreader/patches/3/" rel="alternate"/><published>2008-08-25T08:46:53Z</published><updated>2008-08-25T08:46:53Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netb74f2ec38708be7c9c1452654f9ec014db66bb5a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;since the application depends upon external jar files.&lt;br /&gt;
The jar file sshould come in class path while making the jar file and the jat file should not cotain the used jar files..........&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>next version will have only jar file</title><link href="https://sourceforge.net/p/universalreader/patches/2/" rel="alternate"/><published>2008-08-21T06:50:25Z</published><updated>2008-08-21T06:50:25Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netaf73468cb5bbfbe3bf8cdcb3d662d59fda71a89d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;no additional files will be needed other than a single jar file.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>report bugs and feature requests is dynamic</title><link href="https://sourceforge.net/p/universalreader/patches/1/" rel="alternate"/><published>2008-06-09T05:06:34Z</published><updated>2008-06-09T05:06:34Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netdb81e671a12f67f925fb4e85362f8ad5173e5836</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;it is dynamically moving&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>