/*
* #%L
* OME Bio-Formats package for reading and converting biological file formats.
* %%
* Copyright (C) 2005 - 2015 Open Microscopy Environment:
* - Board of Regents of the University of Wisconsin-Madison
* - Glencoe Software, Inc.
* - University of Dundee
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-2.0.html>.
* #L%
*/
import java.io.*;
import java.util.Hashtable;
import loci.common.RandomAccessInputStream;
import loci.formats.tiff.*;
/**
* Allows raw user TIFF comment editing for the given TIFF files.
*/
public class EditTiffComment {
public static void main(String[] args) throws Exception {
if (args.length == 0) {
System.out.println("Usage: java EditTiffComment file1 file2 ...");
return;
}
BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));
for (int i=0; i<args.length; i++) {
String f = args[i];
// read comment
System.out.println("Reading " + f + " ");
String comment = new TiffParser(f).getComment();
// or if you already have the file open for random access, you can use:
// RandomAccessInputStream fin = new RandomAccessInputStream(f);
// TiffParser tiffParser = new TiffParser(fin);
// String comment = tiffParser.getComment();
// fin.close();
System.out.println("[done]");
// display comment, and prompt for changes
System.out.println("Comment =");
System.out.println(comment);
System.out.println("Enter new comment (no line breaks):");
String xml = cin.readLine();
System.out.print("Saving " + f);
// save results back to the TIFF file
TiffSaver saver = new TiffSaver(f);
RandomAccessInputStream in = new RandomAccessInputStream(f);
saver.overwriteComment(in, xml);
in.close();
System.out.println(" [done]");
}
}
}