Java tutorial
/* * Bear Ballin - Testing framework * * Copyright 2010 Grzegorz Swiec (swiec.eu). * https://github.com/swiec/bear-ballin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package eu.swiec.bearballin.common.io; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Reader; import java.io.StringReader; import java.util.ArrayList; import java.util.List; import org.apache.commons.io.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class FileIO { private final static Logger LOGGER = LoggerFactory.getLogger(""); public static String[] getLoginPassFromCSVFile(String fileName) throws IOException { File loginPassFile = new File(fileName); return getLoginPassFromCSVFile(loginPassFile); } static public String[] getLoginPassFromCSVString(String inputString) throws IOException { return getLoginPassFromCSV(new StringReader(inputString)); } static String[] getLoginPassFromCSVFile(File loginPassFile) throws IOException { return getLoginPassFromCSV(new FileReader(loginPassFile)); } private static String[] getLoginPassFromCSV(Reader in) throws IOException { BufferedReader bufRdr; bufRdr = new BufferedReader(in); String line = null; String[] loginPassPair = new String[7]; int i = 0; while ((line = bufRdr.readLine()) != null) { loginPassPair[i] = line; i++; } if (i < 1) throw new IOException( "Invalid login/password file structure. First line must conatin login, second line - password"); bufRdr.close(); return loginPassPair; } public static void getTestParamsFromCSVFile(File paramsFile, List<List<String>> paramsList, List<String> jobsNames) throws IOException { BufferedReader bufRdr; try { bufRdr = new BufferedReader(new FileReader(paramsFile)); String TestType = paramsFile.getParentFile().getName(); List<String> singleTestCaseParameters; String line = null; String[] splitedLine; while ((line = bufRdr.readLine()) != null) { splitedLine = line.split(","); singleTestCaseParameters = new ArrayList<String>(10); singleTestCaseParameters.add(TestType); for (String sp : splitedLine) { singleTestCaseParameters.add(sp); } jobsNames.add(singleTestCaseParameters.get(0) + "_" + singleTestCaseParameters.get(1)); paramsList.add(singleTestCaseParameters); } bufRdr.close(); } catch (Exception e) { e.printStackTrace(); AssertionError ae = new AssertionError("RB system failed to generate end-user message"); ae.initCause(e); throw ae; } } @Deprecated public static void writePageSource(String fileName, String pageSource) throws IOException { File pageFile = new File(fileName); if (pageFile.createNewFile()) { OutputStream outStrem = new FileOutputStream(pageFile); outStrem.write(pageSource.getBytes("UTF-16")); // outStrem.write(pageSource.getBytes(), 0, pageSource.length()); outStrem.close(); } } @Deprecated public static void writeStringtoFileSource(String fileName, String stringToWrite) throws IOException { writeStringtoFileSource(fileName, stringToWrite, "UTF-16"); } @Deprecated public static void writeStringtoFileSource(String fileName, String stringToWrite, String encoding) throws IOException { File outputFile = new File(fileName); OutputStream outStream = new FileOutputStream(outputFile); OutputStreamWriter osw = new OutputStreamWriter(outStream, encoding); osw.write(stringToWrite); osw.close(); outStream.close(); } public static void writeStrigToFile(String fileName, String conent) { String encoding; switch (Environment.osType) { case LINUX: encoding = "UTF-8"; break; case WINDOWS: encoding = "UTF-16"; break; default: throw new IllegalStateException("Unknown System"); } try { FileUtils.writeStringToFile(new File(fileName), conent, encoding); } catch (IOException e) { LOGGER.info("File writing error: " + e.getMessage()); } } public static List<String> getTestParamsFromCSVFile(String paramsString) throws IOException { return getTestParamsFromCSVFile(new StringReader(paramsString)); } public static List<String> getTestParamsFromCSVFile(File testParamsFile) throws IOException { return getTestParamsFromCSVFile(new FileReader(testParamsFile)); } public static List<String> getTestParamsFromCSVFile(Reader input) throws IOException { BufferedReader bufRdr; bufRdr = new BufferedReader(input); String line = null; List<String> paramsList = new ArrayList<String>(10); String[] params; while ((line = bufRdr.readLine()) != null) { params = line.split(","); for (String param : params) { paramsList.add(param); } } bufRdr.close(); return paramsList; } public static void copy(File input, File output) throws IOException { InputStream inStream; inStream = new FileInputStream(input); OutputStream outStrem = new FileOutputStream(output); byte[] buf = new byte[1024]; int len; while ((len = inStream.read(buf)) > 0) { outStrem.write(buf, 0, len); } inStream.close(); outStrem.close(); } public static void copyKgoPdfs(String numerWniosku) throws IOException { File wniosekInputFile = new File(Environment.getDownloadsPath() + "wniosek(" + numerWniosku + ").pdf"); File cashAtDistanceInputFile = new File( Environment.getDownloadsPath() + "cashAtDistance_" + numerWniosku + ".pdf"); File wniosekOutputFile = new File(System.getenv("WORKSPACE") + "/wniosek(" + numerWniosku + ").pdf"); File cashAtDistanceOutputFile = new File( System.getenv("WORKSPACE") + "/cashAtDistance_" + numerWniosku + ".pdf"); copy(wniosekInputFile, wniosekOutputFile); copy(cashAtDistanceInputFile, cashAtDistanceOutputFile); } }