Java 在android中向sd卡写入.pdf文件

Java 在android中向sd卡写入.pdf文件,java,android,pdf,encoding,Java,Android,Pdf,Encoding,当我有一个PDF格式像这样(缩写) 我可以用这个代码将它写入sd卡,然后打开它 File file = new File(eqnxPath.getAbsolutePath(), FileId + FileName); Log.d(TAG, "looking for file..."); if (file.exists()) { Log.d(TAG, "fiel exis

当我有一个PDF格式像这样(缩写)

我可以用这个代码将它写入sd卡,然后打开它

            File file = new File(eqnxPath.getAbsolutePath(), FileId + FileName);
            Log.d(TAG, "looking for file...");
            if (file.exists())
            {
                Log.d(TAG, "fiel exists, returning file");
                return file;
            }
            else
            {
                Log.d(TAG, "file does not exist, making file");
                byte[] pdfAsBytes = Base64.decode(this.FileContent, Base64.DEFAULT);
                try
                {
                    FileOutputStream os = new FileOutputStream(file);
                    try
                    {
                        os.write(pdfAsBytes);
                        os.flush();
                        os.close();
                        Log.d(TAG, "returning file");
                        return file;
                    } catch (IOException e)
                    {
                        Log.d(TAG, "IOException...");
                        e.printStackTrace();
                    }

                } catch (FileNotFoundException e)
                {
                    Log.d(TAG, "FileNotFoundException...");
                    e.printStackTrace();
                }
然而,当我得到一个类似这样的pdf(再次缩写)

%PDF-1.3
%����
10 obj
endobj
20 obj
endobj
40 obj
endobj
50 obj
流动
����KH�R�f(A)�:FD���;!�(CǕ��:!������v�P���������������?W�A.�?我�P�U�“D�
9|�运行定义��T��联合国����T���}7.��[WT�+������    .�_�C�=>��=P����������6c6zVf�ޥ�兆字节� ��?����D^�J��G������������?������-�_������W������$�$C��L� �ד�����FGJFG���鷷��o���U���U��u_^�/����_��}-���ki}�W�U���Z�v�����Z�]�~��mv�v��Nڶ��K�Z���我��&����L5`�]�}�`˃�lSTW��LS�陛下�����
��ڦ�� �我����A.���
A.��K�����4.���+A.�A.�^��ӴװX0D�&A.�智商��D�"#������深圳�~�_J�#���������������\�
٪3��B��)_Q���-属于��^��������?���������_�������_�%����̔����}��电子战���泰�~.�5.�Q�������������������L����:���@��ddj��\φ%�(RFvjɺ� �Oe;j��未定义&��MQ>!H�\�在�O��8w
{��Z�
$�%N����7.�����6r�7.�����U��ץ�5.�o@��y到�6 M6��s1�� ���D��v�".9�k&�O*'�D�E�_�0��T�J��U����Fe'ۗ6�ӧk߄����Q�+��我����.�W��_�xA��:�}��&��Q��oҽ/�Y��!�ҿ_�?�_��1.�����M�?�/�ӏ}�_~�_���T����==iid�������W�׭��7.�沃�������������_�o����:�����R�_���!����阿兹վ���Z�ȉ�W���Z�]B����W����o���-K�D�_������~���M����P�_�$��uMR�&-��)����.��o�.�知识产权��������$�����������k_��/y/�W���@�~��M�+�,�7.��^��5.��    �"_ҧ�����qqZ�ﭨ5#��G�{��|A.�Σ���J�/�我/��zm'�联合国�}��������二,�)�����_�T�硬件��}���%_�W���K�'�������
�u|^���'�+��/�v�ߧ聟���9�~�Z���W��Z�/�K�\?��^����}-T����ץ��U���v6��������]h/^�ƕ{���]��^�R��中波紫外线�R�Y�%�yѯ�����ۮ�Z���N����}P�5.�]+K����U�����Y�vҤ
*�����&��I1\���:!���F�0�|v�/��I5���[ˋ�`��嘘��a%�B�
�嗯����阿祖�`�rG�����A.��+��E!q��
/����-��X`�0��\�v��E'���[�_��我���-Yᅿ�_�0[�五十、 四,�Imt��zB“8��������0�
P���)�,��乐�f4�qZ��^��MUZhDb?����j|��"�\���TY*jFǟ�"!D�B���!.�Fdv��*�NdX!6(�����
0����Y�A.���gSDԇ��Û�v�A.�x�青年成就组织��=5.��T���C�����ih4�a=4Ӫ����D��|��[�Ӈpk�޿wڧ��:数据处理��O(��日元c׾�?֗OY(|�Q�R�` �������t6��M���K0�����'ϒƲ��'��"%ԏ��(+��N�+������U���
��A.�e�嗯_��۽������噢��������[_���RYC��޵kh����我�o&�G�ѪZ����w~�-��?���U/���������我/��W߮��[_�����������|$��.��խ������JA6������^D�ҥ����A.��J��*���O���5.���~�������o�[�T����m/��_����]R�����R���I%����/��lz/M�����0�����W���\��帕���O��^G��6.��%�����Z��A.�U���U�D0�9��
���Ҧ�K�P�έ����[����Z��?�3.������߂�� 第一个示例中的PDF“格式化”是base64编码的(一种用于通过只能正确处理文本的通道传输二进制数据的编码)

因此,在写入卡之前,必须通过“Base64.decode”调用对其进行解码,您的方法就是这样做的

第二个示例中的PDF格式已经处于未编码状态。因此,无需进一步解码,数据必须按原样写入卡中

我希望您的成员变量“this.FileContent”不是字符串,而是字节数组,或者它的字节数组表示形式存在于另一个成员中。否则,第二个未编码的形式肯定已经被破坏了


对于此类数据,您的方法在保存之前不应调用base64解码方法,而应按原样保存数据。

它看起来像是一个二进制文件,使用某种高级编辑器查看(然后保存),保存时基本上使用某种文本表示法。顺便说一句,在您的第二种形式中,我经常看到“谢谢,我试着直接把它写到SD卡上,虽然我做了一些错误的事情。现在我想可能是文件已经损坏了。我必须告诉制作API的web工程师,让他像第一个例子中那样发送它。谢谢!你提到了一个API和一个web工程师。这取决于API的通信协议API,它可以使用不同的传输编码传输数据,只要编码正确通信
            File file = new File(eqnxPath.getAbsolutePath(), FileId + FileName);
            Log.d(TAG, "looking for file...");
            if (file.exists())
            {
                Log.d(TAG, "fiel exists, returning file");
                return file;
            }
            else
            {
                Log.d(TAG, "file does not exist, making file");
                byte[] pdfAsBytes = Base64.decode(this.FileContent, Base64.DEFAULT);
                try
                {
                    FileOutputStream os = new FileOutputStream(file);
                    try
                    {
                        os.write(pdfAsBytes);
                        os.flush();
                        os.close();
                        Log.d(TAG, "returning file");
                        return file;
                    } catch (IOException e)
                    {
                        Log.d(TAG, "IOException...");
                        e.printStackTrace();
                    }

                } catch (FileNotFoundException e)
                {
                    Log.d(TAG, "FileNotFoundException...");
                    e.printStackTrace();
                }
%PDF-1.3
%����
1 0 obj
<undefined</Metadata 35 0 R/Pages 2 0 R/Type/Catalog>>
endobj
2 0 obj
<</MediaBox[0.0 0.0 609.12 788.88]/Count 1/Type/Pages/Kids[4 0 R]>>
endobj
4 0 obj
<undefined</Parent 2 0 R/Contents 29 0 R/PieceInfo<undefined</MRC<undefined</Private<undefined</B[1 1 3 1]/I[3 8 300 300]/P[2 0.45]/Q 0.1/S[2 0]/U 0/Y 15/b 20/v 2.31>>/LastModified(D:20121102151622-06'00')>>/PSL<undefined</Private<undefined</V(3.1.902)>>/LastModified(D:20121102211626-00'00')>>>>/MediaBox[0 0.0 609.12 788.88]/Resources<undefined</XObject<</4 28 0 R/5 27 0 R/6 26 0 R/7 23 0 R/8 22 0 R/9 21 0 R/A 20 0 R/B 19 0 R/C 18 0 R/D 17 0 R/E 16 0 R/F 15 0 R/G 14 0 R/H 13 0 R/I 12 0 R/J 11 0 R/K 10 0 R/L 9 0 R/M 8 0 R/N 7 0 R/O 6 0 R/P 5 0 R>>/ProcSet[/PDF/ImageC/ImageI/ImageB]>>/Type/Page/LastModified(D:20121102151622-06'00')>>
endobj
5 0 obj
<undefined</Subtype/Image/Length 20602/Filter/CCITTFaxDecode/ImageMask true/BitsPerComponent 1/Width 2320/DecodeParms<undefined</K -1/Columns 2320>>/Height 2960/Type/XObject>>stream
����KH�r�f(A�:FD���;!�(CǕ��:!������v�p���������������?w�A�?I<��
@� b��r�P�����������O��̓�Gcb��ɘ�("El%A�@���r��S����3����h� �� �Ȑc"@�.�0DE��2PA�.(A�a�8k�)%���L��#A�c'd�Ȑh*f� `�M �(�f�C6���� ��xN��� �0 xA��� `�A�h�2�&�y�TA�x'A��zp����4L a��� 駬?OO�S�������xA���~��N,'��AƐN-;���i����[�[OD~�Zo��q�"2-��*v��[���m�q�!֓rM�'��g8rC�1�`�����%�G�  :!r��"�4fB� G��h�)2c&�tpO��O    ��W��GSAA���:�O!�ɧ�`��5��n@�'���zM�ap���_�&�I�J �n��L8OA�����&�=W   ��xN���H=7  �=7
�!xV��n����n�]7���I�n��.�����&�[���O[���z�Kn~���_�������I�����V��������Z�������������������������"A����������
���ܫ��������������e��� a������/����H3?���������_�ߐq������������ �7�������O�����/��/�!�E���������"�u���������� D���� ���肋��������� ������� ������U����D����Ai��������������_�����\6i������ݿ�K����V�/� c������_���m���0K���"�zo��������c���������������_�������������_���]��������k����_�~�����������������������D������������w��k�������]���������o�J������E����/ۯ����
�_�Z�BA/��^�Jյ���KJ��/���k��[�յm+Xui��������i{a[K�:lڤ�IZ���Z�����k%
v�
��^�0}���$}��cRCRCH�4�l+iCY
m/�a~
)6� L�� ޖ%�lW��3��ȑ�+ �m)�Hb�a/�?��b�67د
5�?�*����**(1_��5��^�[�2
/����5U_쁈�S[�
.�^ �����P��/��A���
B
n������/�va�Bk
���/�
E�����a4"9���"+�
0�  �"�&���Xk�aa��`�!�  ���2�=��j�  ��A��� ����l��e�A������SǨ�����/�_�������:���������
���a!VSZ��������!*�H7龓��W��̓�
��"Ő1��)%
@�;D��)9!� @AAld �`�>�P�u�"D�
9|�rundefined<azv�z�0����zi����za;���L'�קj�A��OT�7^-�'���4�M��\��   G���v�c�<�P��O �o���I�t��M� ������ �zN�y�0�>�:]=����2�5�:O�Ӿ��ivAA?[�ut���S��7a�^��׽�^���P�N����n��Upa�_X�����
���_ޗ�<����Zo��o�[��U�e�X�����_��7��D�]m������@ٷ��_\��������������/u����������������SP+��������#ڧ���������������{��_����^��]�;���^����h�������W����������������د�n����������i[_��]�ڵ�[]�
����K��J�J����m-���յ��]�xk��J�X/�����1V����0�����V!�����_�h5
o�����P�/��O����P����_R�13��RBL���G"Cn�l���K���d���}kV������eP�����Z��� _�e�*Bl�    0ed�3;Z`��9i*��5%����d�iw�z���u����$�~4�߅��o�Q���������ܧ2H.x�X�џ)��Ρ�p�8S�4g'� 0hGS'�<� �=B`�;��u=< �4�?M4� �S��^�ń���M>/�N���ӽPh�v���  ��#�t�܉�Dt!9���O��"��@�����=$��龃A�n�@�7M�o����I=>��t��U:N����T���}7��[WT�+������    .�_�C�=>��=p����������6c6zVf�ޥ�mB� ��?����D^�j��G������������?������-�_������W������$�$c��L� �ד�����FGJFG���鷷��o���u���u��u_^�/����_��}-���ki}�w�u.���Z�v�����Z�]�~��mv�V��Nڶ��k�Z���I��&����L5`�]�}�`˃�lSTW��LS�HM�����
��ڦ�� �i����a���
a��k�����4���+a�A�^��ӴװX0D�&A�M!iq��D�"#������Sz�~�_j�#���������������s\�
٪3��B��)_Q���-Of��^��������?���������_�������_�%����̔����}��EW���TY�~.�5�q�������������������l����:���@��ddj��\φ%�(RFvjɺ� �Oe;j��Yrundefined<W4���j�ddP3S7�`�DNN!K�����0��H!���j�i����!�:3XR��Ä �0���Au�M���M=>&��MQ>!H�\�At�O��8w
{��Z�
$�%N����7�����6r�7�����u��ץ�5�o@��y tO�6    M6��s1�� ���D��v�".9�k&�O*'�d�e�_�0��t�J��U����Fe'ۗ6�ӧk߄����q�+��i����.�w��_�xA��:�}��&��q��oҽ/�Y��!�ҿ_�?�_��1�����M�?�/�ӏ}�_~�_���T����==iid�������W�׭��7�WO�������������_�o����:�����R�_���!����Azվ���z�ȉ�W���Z�]b����W����o���-k�d?�_������~���M����p�_�$��uMR�&-��)����.��o�.�Ip��������$�����������k_��/y/�W���@�~��M�+�,�7��^��5��    �"_ҧ�����qqZ�ﭨ5#��g�{��|A�Σ���J�/�I/��zm'�un�}��������II�)�����_�t�Hw��}���%_�W���K�'�������
�u|^���'�+��/�v�ߧ聟���9�~�Z���w��Z�/�K�\?��^����}-t����ץ��u���v6֟��������]h/^�ƕ{���]��^�R��mwUV�R�Y�%�yѯ�����ۮ�Z���N����}p�5�]+K����U�����y�vҤ
*�����&��I1\���:!���f�0�|V�/��I5���[ˋ�`��SH��a%�b!�
�Ay����aWZU�`�rG�����A��+��E!q��
/����-��X`�0��\�V��E'���[�_��I?���-yᅿ�_�0[�L,4�Imt��zB"8��������0�
;P���)�,��lE�f4�qZ��^��MUZhDb?����j|��"�\���TY*jFǟ�"!D�b���!.�Fdv��*�NdX!6(�����
0����Y�A���gSDԇ��Û�V�A�x �ja��=5��T���C�����ih4�a=4Ӫ����D��|��[�Ӈpk�޿wڧ��:Dp��O(��¥c׾�?֗OY(|�Q�r;�` �������t6��M���K0�����'ϒƲ��'��"%ԏ��(+��n�+������u���
��A�e֛�oKH_��۽������OW��������[_���RYC��޵kh����I�o&�G�ѪZ����w~�-��?���U/���������i/��W߮��[_�����������|$��.��խ������JA6������^D �ҥ����A��J��*���O���5���~�������o�[�T����m/��_����]r �����R���I%����/��lz/M�����0�����W���\��Pa���O��^G��6��%�����z��a�u���U�D0�9��
���Ҧ�K�p�έ����[����Z��?�3������߂��<��XJ�����Km/�����:�#��I~�R�I�]���^���@������ץ���/����ޕ����A'^�.�/�k~��Z   �k��դ��-źJ���~�v����k��AWK�������֯�_��^��U�0�Natˉ��%�ܘ�3�V��0_����y��xk��!���d��)#�undefined<BJ-��1QE��(����A��`�QR�H���jCG
4E�i�װ�
}K1(>�1\;�*��������8[�׿k
��n�[   }�%�
�h��7]���Xk�i�ͅ�+�DG�CB
�pf�����E��d*c��4z�I*���J��P�!��