/** * Writes the SBATs to their backing blocks */ public void SyncWithDataSource() { foreach (BATBlock sbat in _sbat_blocks) { ByteBuffer block = _filesystem.GetBlockAt(sbat.OurBlockIndex); BlockAllocationTableWriter.WriteBlock(sbat, block); } }
public TestDocumentInputStream() { int blocks = (_workbook_size + 511) / 512; _workbook_data = new byte[512 * blocks]; Arrays.Fill(_workbook_data, unchecked((byte)-1)); for (int j = 0; j < _workbook_size; j++) { _workbook_data[j] = (byte)(j * j); } // Create the Old POIFS Version RawDataBlock[] rawBlocks = new RawDataBlock[blocks]; MemoryStream stream = new MemoryStream(_workbook_data); for (int j = 0; j < blocks; j++) { rawBlocks[j] = new RawDataBlock(stream); } POIFSDocument document = new POIFSDocument("Workbook", rawBlocks, _workbook_size); _workbook_o = new DocumentNode( document.DocumentProperty, new DirectoryNode( new DirectoryProperty("Root Entry"), (POIFSFileSystem)null, null)); // Now create the NPOIFS Version byte[] _workbook_data_only = new byte[_workbook_size]; Array.Copy(_workbook_data, 0, _workbook_data_only, 0, _workbook_size); NPOIFSFileSystem npoifs = new NPOIFSFileSystem(); // Make it easy when debugging to see what isn't the doc byte[] minus1 = new byte[512]; Arrays.Fill(minus1, unchecked((byte)-1)); npoifs.GetBlockAt(-1).Write(minus1); npoifs.GetBlockAt(0).Write(minus1); npoifs.GetBlockAt(1).Write(minus1); // Create the NPOIFS document _workbook_n = (DocumentNode)npoifs.CreateDocument( new MemoryStream(_workbook_data_only), "Workbook" ); }