import java.io.*; import java.util.Formatter; import java.util.Scanner; import java.io.File; import java.nio.charset.*; public class Arq { private static String nomeArquivo = ""; private static String charsetArquivo = "ISO-8859-1"; private static boolean write = false, read = false; private static Formatter saida = null; private static Scanner entrada = null; public static boolean openWrite(String nomeArq, String charset) { boolean resp = false; close(); try{ saida = new Formatter(nomeArq, charset); nomeArquivo = nomeArq; resp = write = true; } catch (Exception e) {} return resp; } public static boolean openWrite(String nomeArq) { return openWrite(nomeArq, charsetArquivo); } public static boolean openWriteClose(String nomeArq, String charset, String conteudo) { boolean resp = openWrite(nomeArq, charset); if(resp == true){ println(conteudo); close(); } return resp; } public static boolean openWriteClose(String nomeArq, String conteudo) { return openWriteClose(nomeArq, charsetArquivo, conteudo); } public static boolean openRead(String nomeArq) { return openRead(nomeArq, charsetArquivo); } public static boolean openRead(String nomeArq, String charset) { boolean resp = false; close(); try{ entrada = new Scanner(new File(nomeArq), charset); nomeArquivo = nomeArq; resp = read = true; } catch (Exception e) {} return resp; } public static String openReadClose(String nomeArq){ openRead(nomeArq); String resp = readAll(); close(); return resp; } public static void close() { if(write == true){ saida.close(); } if(read == true){ entrada.close(); } write = read = false; nomeArquivo = ""; charsetArquivo = "ISO-8859-1"; } public static long length(){ long resp = -1; if(read != write){ File file = new File(nomeArquivo); resp = file.length(); } return resp; } public static void print(int x){ if(write == true){ saida.format( "%d", x); } } public static void print(double x){ if(write == true){ saida.format( "%f", x); } } public static void print(String x){ if(write == true){ saida.format( "%s", x); } } public static void print(boolean x){ if(write == true){ saida.format( "%s", ((x) ? "true" : "false")); } } public static void print(char x){ if(write == true){ saida.format( "%c", x); } } public static void println(int x){ if(write == true){ saida.format( "%d\n", x); } } public static void println(double x){ if(write == true){ saida.format( "%f\n", x); } } public static void println(String x){ if(write == true){ saida.format( "%s\n", x); } } public static void println(boolean x){ if(write == true){ saida.format( "%s\n", ((x) ? "true" : "false")); } } public static void println(char x){ if(write == true){ saida.format( "%c\n", x); } } public static int readInt(){ int resp = -1; try{ resp = entrada.nextInt(); } catch (Exception e) {} return resp; } public static char readChar(){ char resp = ' '; try{ resp = (char)entrada.nextByte(); } catch (Exception e) {} return resp; } public static double readDouble(){ double resp = -1; try{ resp = Double.parseDouble(readString().replace(",",".")); } catch (Exception e) {} return resp; } public static String readString(){ String resp = ""; try{ resp = entrada.next(); } catch (Exception e) { System.out.println(e.getMessage()); } return resp; } public static boolean readBoolean(){ boolean resp = false; try{ resp = (entrada.next().equals("true")) ? true : false; } catch (Exception e) {} return resp; } public static String readLine(){ String resp = ""; try{ resp = entrada.nextLine(); } catch (Exception e) { System.out.println(e.getMessage()); } return resp; } public static boolean hasNext(){ return entrada.hasNext(); } public static String readAll(){ String resp = ""; while(hasNext()){ resp += (readLine() + "\n"); } return resp; } }