You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/02/16 18:55:08 UTC

svn commit: r1660176 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java

Author: tilman
Date: Mon Feb 16 17:55:08 2015
New Revision: 1660176

URL: http://svn.apache.org/r1660176
Log:
PDFBOX-2576: use constant for ISO-8859-1

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java?rev=1660176&r1=1660175&r2=1660176&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java Mon Feb 16 17:55:08 2015
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.SequenceInputStream;
+import java.nio.charset.Charset;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.text.DecimalFormat;
@@ -154,6 +155,8 @@ public class COSWriter implements ICOSVi
      * The close stream token.
      */
     public static final byte[] ENDSTREAM = "endstream".getBytes(Charsets.US_ASCII);
+    
+    private static final Charset ISO_8859_1_CHARSET = Charset.forName("ISO-8859-1");
 
     private final NumberFormat formatXrefOffset = new DecimalFormat("0000000000");
 
@@ -530,9 +533,9 @@ public class COSWriter implements ICOSVi
         // add a x ref entry
         addXRefEntry( new COSWriterXRefEntry(getStandardOutput().getPos(), obj, currentObjectKey));
         // write the object
-        getStandardOutput().write(String.valueOf(currentObjectKey.getNumber()).getBytes("ISO-8859-1"));
+        getStandardOutput().write(String.valueOf(currentObjectKey.getNumber()).getBytes(ISO_8859_1_CHARSET));
         getStandardOutput().write(SPACE);
-        getStandardOutput().write(String.valueOf(currentObjectKey.getGeneration()).getBytes("ISO-8859-1"));
+        getStandardOutput().write(String.valueOf(currentObjectKey.getGeneration()).getBytes(ISO_8859_1_CHARSET));
         getStandardOutput().write(SPACE);
         getStandardOutput().write(OBJ);
         getStandardOutput().writeEOL();
@@ -560,7 +563,7 @@ public class COSWriter implements ICOSVi
         {
             headerString = "%PDF-"+ Float.toString(pdDocument.getDocument().getVersion());
         }
-        getStandardOutput().write( headerString.getBytes("ISO-8859-1") );
+        getStandardOutput().write( headerString.getBytes(ISO_8859_1_CHARSET) );
         
         getStandardOutput().writeEOL();
         getStandardOutput().write(COMMENT);
@@ -759,9 +762,9 @@ public class COSWriter implements ICOSVi
     {
         String offset = formatXrefOffset.format(entry.getOffset());
         String generation = formatXrefGeneration.format(entry.getKey().getGeneration());
-        getStandardOutput().write(offset.getBytes("ISO-8859-1"));
+        getStandardOutput().write(offset.getBytes(ISO_8859_1_CHARSET));
         getStandardOutput().write(SPACE);
-        getStandardOutput().write(generation.getBytes("ISO-8859-1"));
+        getStandardOutput().write(generation.getBytes(ISO_8859_1_CHARSET));
         getStandardOutput().write(SPACE);
         getStandardOutput().write(entry.isFree() ? XREF_FREE : XREF_USED);
         getStandardOutput().writeCRLF();
@@ -1053,7 +1056,7 @@ public class COSWriter implements ICOSVi
         // write endof
         getStandardOutput().write(STARTXREF);
         getStandardOutput().writeEOL();
-        getStandardOutput().write(String.valueOf(getStartxref()).getBytes("ISO-8859-1"));
+        getStandardOutput().write(String.valueOf(getStartxref()).getBytes(ISO_8859_1_CHARSET));
         getStandardOutput().writeEOL();
         getStandardOutput().write(EOF);
         getStandardOutput().writeEOL();
@@ -1104,9 +1107,9 @@ public class COSWriter implements ICOSVi
     public void writeReference(COSBase obj) throws IOException
     {
         COSObjectKey key = getObjectKey(obj);
-        getStandardOutput().write(String.valueOf(key.getNumber()).getBytes("ISO-8859-1"));
+        getStandardOutput().write(String.valueOf(key.getNumber()).getBytes(ISO_8859_1_CHARSET));
         getStandardOutput().write(SPACE);
-        getStandardOutput().write(String.valueOf(key.getGeneration()).getBytes("ISO-8859-1"));
+        getStandardOutput().write(String.valueOf(key.getGeneration()).getBytes(ISO_8859_1_CHARSET));
         getStandardOutput().write(SPACE);
         getStandardOutput().write(REFERENCE);
     }
@@ -1286,7 +1289,7 @@ public class COSWriter implements ICOSVi
 
             // algorithm says to use time/path/size/values in doc to generate the id.
             // we don't have path or size, so do the best we can
-            md5.update( Long.toString(idTime).getBytes("ISO-8859-1") );
+            md5.update( Long.toString(idTime).getBytes(ISO_8859_1_CHARSET) );
 
             COSDictionary info = (COSDictionary)trailer.getDictionaryObject( COSName.INFO );
             if( info != null )
@@ -1294,7 +1297,7 @@ public class COSWriter implements ICOSVi
                 Iterator<COSBase> values = info.getValues().iterator();
                 while( values.hasNext() )
                 {
-                    md5.update( values.next().toString().getBytes("ISO-8859-1") );
+                    md5.update( values.next().toString().getBytes(ISO_8859_1_CHARSET) );
                 }
             }
             // reuse origin documentID if available as first value