e.printStackTrace();
}
2。下面就开始处理BYTES数组
以前我见到有网友的作法将m_binArray直接转化成String,然后利用String的方法去掉标志
位数据
String newstr=new String(m_binArray);
这一方法我试过了,是行不通的,我不知道它们测试过程序没有,对于上传文本文件应该没问题
如果上传的是WORD文档或者图片等二进制文件,进行转化成字符串的时候数据就会有丢失,我想
可能是因为编码的原因造成的,所以不能直接转换。
正确的方法是将字节数组的每一位转化成CHAR或判断ASCII码值来判断头尾标志为数据:
for(; !found && m_currentIndex < m_totalBytes; m_currentIndex++)
{
if(m_binArray[m_currentIndex] == 13)
found = true;
else
m_boundary = m_boundary + (char)m_binArray[m_currentIndex];
}
if(m_currentIndex == 1)
return;
m_currentIndex++;
do
{
if(m_currentIndex >= m_totalBytes)
break;
dataHeader = getDataHeader();
System.out.println(dataHeader);
m_currentIndex = m_currentIndex + 2;
isFile = dataHeader.indexOf("filename") > 0;
getDataSection();
if(isFile)
{
////






