
com.gc.iotools.fmt.base.TestUtils Maven / Gradle / Ivy
package com.gc.iotools.fmt.base;
/*
* Copyright (c) 2008,2009 Davide Simonetti.
* This source code is released under the BSD Software License.
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLDecoder;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
import org.apache.commons.io.IOUtils;
import com.gc.iotools.stream.is.SizeLimitInputStream;
public final class TestUtils {
public static Map getBytesForFiles(
final String[] included, final int nbytes, final boolean includes)
throws IOException {
final String[] goodFiles = (includes ? TestUtils
.listFilesIncludingExtension(included) : TestUtils
.listFilesExcludingExtension(included));
final Map result = new HashMap();
for (final String fileName : goodFiles) {
final InputStream is = new FileInputStream(fileName);
final byte[] bytes = IOUtils
.toByteArray(new SizeLimitInputStream(is, nbytes));
result.put(fileName, bytes);
}
return result;
}
public static String[] listFilesExcludingExtension(
final String[] forbidden) throws IOException {
final URL fileURL = TestUtils.class.getResource("/testFiles");
String filePath = URLDecoder.decode(fileURL.getPath(), "UTF-8");
final File dir = new File(filePath);
final String[] files = dir.list();
final Collection goodFiles = new Vector();
if (!filePath.endsWith(File.separator)) {
filePath = filePath + File.separator;
}
for (final String file : files) {
boolean insert = true;
for (final String extForbidden : forbidden) {
insert &= !(file.endsWith(extForbidden));
}
if (insert) {
goodFiles.add(filePath + file);
}
}
return goodFiles.toArray(new String[goodFiles.size()]);
}
/**
* @deprecated
* @see FileUtils.iterate();
* @param allowed
* @return
* @throws IOException
*/
@Deprecated
public static String[] listFilesIncludingExtension(final String[] allowed)
throws IOException {
final URL fileURL = TestUtils.class.getResource("/testFiles");
String filePath = URLDecoder.decode(fileURL.getPath(), "UTF-8");
final File dir = new File(filePath);
final String[] files = dir.list();
final Collection goodFiles = new Vector();
if (!filePath.endsWith(File.separator)) {
filePath = filePath + File.separator;
}
for (final String file : files) {
for (final String element : allowed) {
if (file.endsWith(element)) {
goodFiles.add(filePath + file);
}
}
}
return goodFiles.toArray(new String[goodFiles.size()]);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy