dmolony-DiskBrowser/src/com/bytezone/diskbrowser/applefile/VisicalcFile.java

57 lines
1.1 KiB
Java

package com.bytezone.diskbrowser.applefile;
import com.bytezone.diskbrowser.HexFormatter;
public class VisicalcFile extends AbstractFile
{
private VisicalcSpreadsheet sheet;
public VisicalcFile (String name, byte[] buffer)
{
super (name, buffer);
}
@Override
public String getText ()
{
if (sheet == null)
sheet = new VisicalcSpreadsheet (buffer);
StringBuilder text = new StringBuilder ();
text.append ("Visicalc : " + name + "\n");
text.append ("Cells : " + sheet.size () + "\n\n");
text.append (sheet.getCells ());
if (false)
{
text.append ("\n");
for (String line : sheet.lines)
{
text.append ("\n");
text.append (line);
}
}
return text.toString ();
}
public static boolean isVisicalcFile (byte[] buffer)
{
if (false)
System.out.println (HexFormatter.format (buffer));
int firstByte = buffer[0] & 0xFF;
if (firstByte != 0xBE && firstByte != 0xAF)
return false;
int last = buffer.length - 1;
while (buffer[last] == 0)
last--;
if (buffer[last] != (byte) 0x8D)
return false;
return true;
}
}