package com.samsung.spensdk.example.bgfg; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.util.Log; public class ExampleUtils { public static String getFileExtension(File f) { int idx = f.getName().lastIndexOf("."); if (idx == -1) return ""; else return f.getName().substring(idx+1); } public static String fileNameRemoveExtension(String fileName) { if(fileName == null) return null; int idx = fileName.lastIndexOf("."); if(idx == -1) return fileName; else return fileName.substring(0, idx); } public static String stringCheck(String str) { StringBuilder strbuilder = new StringBuilder(); int size = str.length(); for(int i = 0; i < size; i++) { char curChar = str.charAt(i); if(curChar == '\\' || curChar == '/' || curChar == ':' || curChar == '*' || curChar == '?' || curChar == '"' || curChar == '<' || curChar == '>' || curChar == '|') { strbuilder.append('_'); }else strbuilder.append(curChar); } return strbuilder.toString(); } public static String getUniqueFilename(File folder, String filename, String ext) { if (folder == null || filename == null) return null; String curFileName; File curFile; if(filename.length() > 20){ filename = filename.substring(0, 19); } filename = stringCheck(filename); int i = 1; do { curFileName = String.format("%s_%02d.%s", filename, i++, ext); curFile = new File(folder, curFileName); } while (curFile.exists()); return curFileName; } public static byte[] readBytedata (String aFilename) { byte[] imgBuffer = null; FileInputStream fileInputStream = null; try { File file = new File(aFilename); fileInputStream = new FileInputStream(file); int byteSize = (int)file.length(); imgBuffer = new byte[byteSize]; if ( fileInputStream.read(imgBuffer) == -1 ) { Log.e(SPen_Example_BackgroundForeground.TAG, "failed to read image"); } fileInputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e2) { e2.printStackTrace(); } finally { if(fileInputStream != null) { try{ fileInputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } return imgBuffer; } public static boolean writeBytedata (String aFilename, byte[] imgBuffer) { FileOutputStream fileOutputStream = null; boolean result = true; try { File file = new File(aFilename); fileOutputStream = new FileOutputStream(file); fileOutputStream.write(imgBuffer); fileOutputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); result = false; } catch (IOException e2) { e2.printStackTrace(); result = false; } finally { if(fileOutputStream != null) { try{ fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); result = false; } } } return result; } }