GDCM 2.2.1

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

ReadFiles.java
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
import gdcm.*;
import java.io.File;
public class ReadFiles
{
static int i = 0;
public static void process(String path)
{
//String path = file.getPath();
assert PosixEmulation.FileExists(path) : "Problem converting to 8bits";
System.out.println("Reading: " + path );
System.out.println("File: " + i++);
Reader r = new Reader();
try
{
r.SetFileName( path );
TagSetType skip = new TagSetType();
skip.insert( new Tag(0x7fe0,0x10) );
boolean b = r.ReadUpToTag( new Tag(0x88,0x200), skip );
//System.out.println("DS:\n" + r.GetFile().GetDataSet().toString() );
}
finally
{
r.delete(); // will properly call C++ destructor and close file descriptor
}
}
// Process only files under dir
public static void visitAllFiles(File dir)
{
if (dir.isDirectory())
{
String[] children = dir.list();
for (int i=0; i<children.length; i++)
{
visitAllFiles(new File(dir, children[i]));
}
}
else
{
process(dir.getPath());
}
}
public static void waiting (int n)
{
long t0, t1;
t0 = System.currentTimeMillis();
do
{
t1 = System.currentTimeMillis();
}
while ((t1 - t0) < (n * 1000));
}
public static void main(String[] args) throws Exception
{
String directory = args[0];
Directory gdir = new Directory();
long n = gdir.Load( directory, true );
System.out.println( gdir.toString() );
FilenamesType files = gdir.GetFilenames();
for( long i = 0; i < n; ++i )
{
String path = files.get( (int)i );
process( path );
}
System.out.println( "Java API" );
//waiting( 10 );
for( int i = 0; i < 2; ++i )
{
File dir = new File(directory);
visitAllFiles(dir);
}
}
}