jcuda.utils.FileIO Maven / Gradle / Ivy
/*
* JCudaUtils - Utilities for JCuda
* http://www.jcuda.org
*
* Copyright (c) 2010 Marco Hutter - http://www.jcuda.org
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
package jcuda.utils;
import java.io.*;
import java.util.*;
import java.util.regex.Pattern;
import jcuda.CudaException;
/**
* File I/O functions, similar to the CUTIL file functions
*/
public class FileIO
{
/**
* Private constructor to prevent instantiation
*/
private FileIO()
{
}
/**
* Reads the file with the given name containing single precision floating
* point data, and returns the contents of this file as an array
*
* @param filename The name of the file
* @return The contents of the file
* @throws CudaException if the file could not be read
*/
public static float[] readFileFloat(String filename)
{
if (filename == null)
{
throw new CudaException("The filename is null");
}
List values = new ArrayList();
try
{
Scanner scanner = new Scanner(new File(filename));
scanner.useDelimiter(Pattern.compile("\\s+"));
while (scanner.hasNext())
{
try
{
values.add(Float.parseFloat(scanner.next()));
}
catch (NumberFormatException e)
{
throw new CudaException(
"Could not read value from file '"+filename+"'", e);
}
}
scanner.close();
}
catch (FileNotFoundException e)
{
throw new CudaException("File '"+filename+"' not found", e);
}
float data[] = new float[values.size()];
for (int i=0; i values = new ArrayList();
try
{
Scanner scanner = new Scanner(new File(filename));
scanner.useDelimiter(Pattern.compile("\\s+"));
while (scanner.hasNext())
{
try
{
values.add(Double.parseDouble(scanner.next()));
}
catch (NumberFormatException e)
{
throw new CudaException(
"Could not read value from file '"+filename+"'", e);
}
}
scanner.close();
}
catch (FileNotFoundException e)
{
throw new CudaException("File '"+filename+"' not found", e);
}
double data[] = new double[values.size()];
for (int i=0; i values = new ArrayList();
try
{
Scanner scanner = new Scanner(new File(filename));
scanner.useDelimiter(Pattern.compile("\\s+"));
while (scanner.hasNext())
{
try
{
values.add(Integer.parseInt(scanner.next()));
}
catch (NumberFormatException e)
{
throw new CudaException(
"Could not read value from file '"+filename+"'", e);
}
}
scanner.close();
}
catch (FileNotFoundException e)
{
throw new CudaException("File '"+filename+"' not found", e);
}
int data[] = new int[values.size()];
for (int i=0; i values = new ArrayList();
try
{
Scanner scanner = new Scanner(new File(filename));
scanner.useDelimiter(Pattern.compile("\\s+"));
while (scanner.hasNext())
{
try
{
values.add(Byte.parseByte(scanner.next()));
}
catch (InputMismatchException e)
{
throw new CudaException(
"Could not read value from file '"+filename+"'", e);
}
}
scanner.close();
}
catch (FileNotFoundException e)
{
throw new CudaException("File '"+filename+"' not found", e);
}
byte data[] = new byte[values.size()];
for (int i=0; i
© 2015 - 2024 Weber Informatics LLC | Privacy Policy