Browse Source

dump FIB field values (starting from 154 offset)

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1160735 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_8_BETA5
Sergey Vladimirov 12 years ago
parent
commit
56fe9f8685

+ 55
- 0
src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java View File

@@ -248,4 +248,59 @@ public final class FIBFieldHandler
}
}
}

private static String leftPad( String text, int value, char padChar )
{
if ( text.length() >= value )
return text;

StringBuilder result = new StringBuilder();
for ( int i = 0; i < ( value - text.length() ); i++ )
{
result.append( padChar );
}
result.append( text );
return result.toString();
}

@Override
public String toString()
{
StringBuilder result = new StringBuilder();
result.append( "[FIBFieldHandler]:\n" );

result.append( "\tFields:\n" );
result.append( "\t" );
result.append( leftPad( "Index", 8, ' ' ) );
result.append( leftPad( "FIB offset", 15, ' ' ) );
result.append( leftPad( "Offset", 8, ' ' ) );
result.append( leftPad( "Size", 8, ' ' ) );
result.append( '\n' );
for ( int x = 0; x < _fields.length / 2; x++ )
{
result.append( '\t' );
result.append( leftPad( Integer.toString( x ), 8, ' ' ) );
result.append( leftPad(
Integer.toString( 154 + x * LittleEndian.INT_SIZE * 2 ), 6,
' ' ) );
result.append( " 0x" );
result.append( leftPad(
Integer.toHexString( 154 + x * LittleEndian.INT_SIZE * 2 ),
4, '0' ) );
result.append( leftPad( Integer.toString( getFieldOffset( x ) ), 8,
' ' ) );
result.append( leftPad( Integer.toString( getFieldSize( x ) ), 8,
' ' ) );

UnhandledDataStructure structure = _unknownMap.get( Integer
.valueOf( x ) );
if ( structure != null )
{
result.append( " => Unknown structure of size " );
result.append( structure._buf.length );
}
result.append( '\n' );
}
return result.toString();
}
}

+ 1
- 0
src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java View File

@@ -150,6 +150,7 @@ public final class FileInformationBlock extends FIBAbstractType
stringBuilder.append( getNotesTextPositionsSize( noteType ) );
stringBuilder.append( " bytes\n" );
}
stringBuilder.append( _fieldHandler );
try
{
stringBuilder.append( "\tJava reflection info:\n" );

Loading…
Cancel
Save