/**
* Move um arquivo
*
* @param filenameSource
* @param filenameDestiny
*/
public static void moveFile(String filenameSource, String filenameDestiny) {
try {
JavaUtils.copyFile(filenameSource, filenameDestiny);
JavaUtils.deleteFile(filenameSource, false);
} catch (Throwable e) {
try {
JavaUtils.deleteFile(filenameDestiny, true);
} catch (Throwable e1) {
}
throw new RuntimeException(
"JavaUtils.moveFile() - Erro desconhecido ao mover o arquivo de \"" +
filenameSource + "\" para \"" + filenameDestiny + "\". Error: " + e);
}
}
Blog de Programação, TI, mobile, análise de sistemas
e desenvolvimento de software em geral.
sexta-feira, 30 de julho de 2010
[javautils] deleteFile
/**
* Exclui um arquivo (e seus subdiretorios e sub arquivos, se ele for um diretorio)
*
* @param filename
* @param silent - se true, não gera nenhuma exceção mesmo que não consiga excluir o arquivo
*/
public static void deleteFile(String filename, boolean silent) {
File arquivo = new File(filename);
/*
* Se o arquivo não for um diretório, é deletado. Caso seja um diretório, é deletado com
* seus subdiretórios e arquivos.
*/
if (!arquivo.isDirectory()) {
JavaUtils.subDeleteFile(filename, silent, arquivo);
} else {
File[] listFiles = arquivo.listFiles();
for (int i = 0; i < listFiles.length; i++) {
File arquivoFilho = listFiles[i];
JavaUtils.deleteFile(arquivoFilho.getAbsolutePath(), silent);
}
JavaUtils.subDeleteFile(filename, silent, arquivo);
}
}
/**
* Usado pelo deleteFile. Tenta apagar o arquivo e faz o tratamento de exceção.
*
* @param filename
* @param silent
* @param arquivo
*/
protected static void subDeleteFile(String filename, boolean silent, File arquivo) {
boolean excluiu = false;
try {
excluiu = arquivo.delete();
} catch (Throwable e) {
if (!silent) {
// Se silent for false, gera exceção.
throw new RuntimeException(
"JavaUtils.deleteFile() - Erro desconhecido ao excluir o arquivo \"" +
filename + "\". Error: " + e);
}
}
if (!excluiu && !silent) {
//Se não conseguir excluir o arquivo, gera exceção.
throw new RuntimeException(
"JavaUtils.deleteFile() - Erro desconhecido. Não conseguiu excluir o arquivo com o nome \"" +
filename +
"\". Pode ser que o arquivo não exista, por isso o erro.");
}
}
* Exclui um arquivo (e seus subdiretorios e sub arquivos, se ele for um diretorio)
*
* @param filename
* @param silent - se true, não gera nenhuma exceção mesmo que não consiga excluir o arquivo
*/
public static void deleteFile(String filename, boolean silent) {
File arquivo = new File(filename);
/*
* Se o arquivo não for um diretório, é deletado. Caso seja um diretório, é deletado com
* seus subdiretórios e arquivos.
*/
if (!arquivo.isDirectory()) {
JavaUtils.subDeleteFile(filename, silent, arquivo);
} else {
File[] listFiles = arquivo.listFiles();
for (int i = 0; i < listFiles.length; i++) {
File arquivoFilho = listFiles[i];
JavaUtils.deleteFile(arquivoFilho.getAbsolutePath(), silent);
}
JavaUtils.subDeleteFile(filename, silent, arquivo);
}
}
/**
* Usado pelo deleteFile. Tenta apagar o arquivo e faz o tratamento de exceção.
*
* @param filename
* @param silent
* @param arquivo
*/
protected static void subDeleteFile(String filename, boolean silent, File arquivo) {
boolean excluiu = false;
try {
excluiu = arquivo.delete();
} catch (Throwable e) {
if (!silent) {
// Se silent for false, gera exceção.
throw new RuntimeException(
"JavaUtils.deleteFile() - Erro desconhecido ao excluir o arquivo \"" +
filename + "\". Error: " + e);
}
}
if (!excluiu && !silent) {
//Se não conseguir excluir o arquivo, gera exceção.
throw new RuntimeException(
"JavaUtils.deleteFile() - Erro desconhecido. Não conseguiu excluir o arquivo com o nome \"" +
filename +
"\". Pode ser que o arquivo não exista, por isso o erro.");
}
}
[javautils] createFile
/**
* Cria um novo arquivo vazio
*
* @param filename
* @param overwrite - se true, recria o arquivo mesmo que ele já exista
*/
public static void createFile(String filename, boolean overwrite) {
try {
boolean criou = false;
File file = new File(filename);
criou = file.createNewFile();
if (!criou && overwrite) {
JavaUtils.writeFile(filename, new StringBuffer());
} else if (!criou) {
throw new RuntimeException(
"JavaUtils.createFile() - Erro desconhecido. Não conseguiu criar o arquivo com o nome \"" +
filename +
"\". Pode ser que o arquivo já esteja criado, por isso o erro.");
}
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.createFile() - Erro desconhecido ao criar o arquivo \"" +
filename + "\". Error: " + e);
}
}
* Cria um novo arquivo vazio
*
* @param filename
* @param overwrite - se true, recria o arquivo mesmo que ele já exista
*/
public static void createFile(String filename, boolean overwrite) {
try {
boolean criou = false;
File file = new File(filename);
criou = file.createNewFile();
if (!criou && overwrite) {
JavaUtils.writeFile(filename, new StringBuffer());
} else if (!criou) {
throw new RuntimeException(
"JavaUtils.createFile() - Erro desconhecido. Não conseguiu criar o arquivo com o nome \"" +
filename +
"\". Pode ser que o arquivo já esteja criado, por isso o erro.");
}
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.createFile() - Erro desconhecido ao criar o arquivo \"" +
filename + "\". Error: " + e);
}
}
[javautils] copyFile
/**
* Faz a cópia de um arquivo
*
* @param filenameSource
* @param filenameDestiny
*/
public static void copyFile(String filenameSource, String filenameDestiny) {
try {
// Cria a stream para ler o arquivo original
FileInputStream fin = new FileInputStream(filenameSource);
// Cria a stream para gravar o arquivo de cópia
FileOutputStream fout = new FileOutputStream(filenameDestiny);
// Usa as streams para criar os canais correspondentes
FileChannel in = fin.getChannel();
FileChannel out = fout.getChannel();
// Número de bytes do arquivo original
long numbytes = in.size();
// Transfere todo o volume para o arquivo de cópia.
in.transferTo(0, numbytes, out);
out.close();
in.close();
fout.close();
fin.close();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.copyFile() - Erro desconhecido ao copiar o arquivo \"" +
filenameSource + "\" para \"" + filenameDestiny + "\". Error: " + e);
}
}
[javautils] readFileAsStringBuffer
/**
* Lê o texto de um arquivo
*
* @param filename
* @return StringBuffer - Um StringBuffer com todo o texto do arquivo
*/
public static StringBuffer readFileAsStringBuffer(String filename) {
StringBuffer texto = new StringBuffer();
try {
FileReader reader = new FileReader(filename);
BufferedReader in = new BufferedReader(reader);
String linha = null;
long count = 0;
while ((linha = in.readLine()) != null) {
if (count == 0) {
texto.append(linha);
count++;
} else {
texto.append("\n");
texto.append(linha);
}
}
in.close();
reader.close();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.readFileAsStringBuffer() - Erro desconhecido ao ler o arquivo \"" +
filename + "\". Error: " + e);
}
return texto;
}
* Lê o texto de um arquivo
*
* @param filename
* @return StringBuffer - Um StringBuffer com todo o texto do arquivo
*/
public static StringBuffer readFileAsStringBuffer(String filename) {
StringBuffer texto = new StringBuffer();
try {
FileReader reader = new FileReader(filename);
BufferedReader in = new BufferedReader(reader);
String linha = null;
long count = 0;
while ((linha = in.readLine()) != null) {
if (count == 0) {
texto.append(linha);
count++;
} else {
texto.append("\n");
texto.append(linha);
}
}
in.close();
reader.close();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.readFileAsStringBuffer() - Erro desconhecido ao ler o arquivo \"" +
filename + "\". Error: " + e);
}
return texto;
}
quarta-feira, 28 de julho de 2010
[javautils] writeFile
/**
* Escreve um texto no arquivo (sobrescrevendo todo o texto que já existia nele)
*
* @param filename
* @param texto
*/
public static void writeFile(String filename, String texto) {
try {
FileWriter writer = new FileWriter(filename);
BufferedWriter out = new BufferedWriter(writer);
out.write(texto);
out.close();
writer.close();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.writeFile(String, String) - Erro desconhecido ao escrever um texto no arquivo \"" +
filename + "\". Error: " + e);
}
}
* Escreve um texto no arquivo (sobrescrevendo todo o texto que já existia nele)
*
* @param filename
* @param texto
*/
public static void writeFile(String filename, String texto) {
try {
FileWriter writer = new FileWriter(filename);
BufferedWriter out = new BufferedWriter(writer);
out.write(texto);
out.close();
writer.close();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.writeFile(String, String) - Erro desconhecido ao escrever um texto no arquivo \"" +
filename + "\". Error: " + e);
}
}
[javautils] appendFile
/**
* Escreve um texto no final do arquivo (append)
*
* @param filename
* @param texto
*/
public static void appendFile(String filename, String texto) {
try {
FileWriter writer = new FileWriter(filename, true);
BufferedWriter out = new BufferedWriter(writer);
out.write(texto);
out.close();
writer.close();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.appendFile(String, String) - Erro desconhecido ao escrever um texto no final do arquivo \"" +
filename + "\". Error: " + e);
}
}
* Escreve um texto no final do arquivo (append)
*
* @param filename
* @param texto
*/
public static void appendFile(String filename, String texto) {
try {
FileWriter writer = new FileWriter(filename, true);
BufferedWriter out = new BufferedWriter(writer);
out.write(texto);
out.close();
writer.close();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.appendFile(String, String) - Erro desconhecido ao escrever um texto no final do arquivo \"" +
filename + "\". Error: " + e);
}
}
[javautils] convertCollectionToSqlINClause
/**
* Converte uma coleção qualquer em um formato que possa ser colocado em uma cláusula SQL
* "IN".
*
* Ex: dada uma coleção da seguinte forma:
*
* Collection textoColecao = new ArrayList();
* textoColecao.add("primeiro");
* textoColecao.add("segundo");
* textoColecao.add("terceiro");
*
*
* A chamada em uma clásula IN ficaria assim:
*
*
* StringBuffer sql = new StringBuffer();
* sql.append("select * from algo where algo.id in ( ");
* sql.append(JavaUtils.convertCollectionToSqlINClause(textoColecao);
* sql.append(" ) ");
*
*
* O resultado da sql montada será:
*
*
* select * from algo where algo.id in ( primeiro, segundo, terceiro )
*
* @param colecao
* @return String
*/
public static String convertCollectionToSqlINClause(Collection colecao) {
try {
StringBuffer buffer = new StringBuffer();
Iterator iterator = colecao.iterator();
Object primeiroItem = iterator.next();
buffer.append(primeiroItem.toString());
while (iterator.hasNext()) {
Object item = iterator.next();
buffer.append("," + item);
}
return buffer.toString();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.convertCollectionToSqlINClause() - Error on convert the collection \"" +
colecao +
"\" with size \"" +
((colecao == null) ? null : colecao.size()) +
"\" in a sql \"IN\" clause. Error details: " + e);
}
}
* Converte uma coleção qualquer em um formato que possa ser colocado em uma cláusula SQL
* "IN".
*
* Ex: dada uma coleção da seguinte forma:
*
* Collection textoColecao = new ArrayList();
* textoColecao.add("primeiro");
* textoColecao.add("segundo");
* textoColecao.add("terceiro");
*
*
* A chamada em uma clásula IN ficaria assim:
*
*
* StringBuffer sql = new StringBuffer();
* sql.append("select * from algo where algo.id in ( ");
* sql.append(JavaUtils.convertCollectionToSqlINClause(textoColecao);
* sql.append(" ) ");
*
*
* O resultado da sql montada será:
*
*
* select * from algo where algo.id in ( primeiro, segundo, terceiro )
*
* @param colecao
* @return String
*/
public static String convertCollectionToSqlINClause(Collection colecao) {
try {
StringBuffer buffer = new StringBuffer();
Iterator iterator = colecao.iterator();
Object primeiroItem = iterator.next();
buffer.append(primeiroItem.toString());
while (iterator.hasNext()) {
Object item = iterator.next();
buffer.append("," + item);
}
return buffer.toString();
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.convertCollectionToSqlINClause() - Error on convert the collection \"" +
colecao +
"\" with size \"" +
((colecao == null) ? null : colecao.size()) +
"\" in a sql \"IN\" clause. Error details: " + e);
}
}
terça-feira, 27 de julho de 2010
[java] convertStringDecimalToBigDecimal
/**
* Converte uma String no formato decimal (valor de moeda, p. ex.) para um BigDecimal.
* Se a String for vazia ou se ocorrer uma exceção, retorna null
*
* @param valor
* @param locale - pegue o Locale desejado pelo método "getLocale..." do JavaUtils
* @return String
*/
public static BigDecimal convertStringDecimalToBigDecimal(String valor, Locale locale,
int minimoCasasDecimais, int maximoCasasDecimais) {
BigDecimal retorno = null;
if (JavaUtils.isStringNaoVazia(valor)) {
try {
NumberFormat formato = DecimalFormat.getNumberInstance(locale);
formato.setMinimumFractionDigits(minimoCasasDecimais);
formato.setMaximumFractionDigits(maximoCasasDecimais);
retorno = new BigDecimal(formato.parse(valor).doubleValue());
} catch (Throwable e) {
log.warn("JavaUtils.convertStringDecimalToBigDecimal() - Erro de " +
"conversao. Vai retornar null. Error: " + e);
}
}
return retorno;
}
* Converte uma String no formato decimal (valor de moeda, p. ex.) para um BigDecimal.
* Se a String for vazia ou se ocorrer uma exceção, retorna null
*
* @param valor
* @param locale - pegue o Locale desejado pelo método "getLocale..." do JavaUtils
* @return String
*/
public static BigDecimal convertStringDecimalToBigDecimal(String valor, Locale locale,
int minimoCasasDecimais, int maximoCasasDecimais) {
BigDecimal retorno = null;
if (JavaUtils.isStringNaoVazia(valor)) {
try {
NumberFormat formato = DecimalFormat.getNumberInstance(locale);
formato.setMinimumFractionDigits(minimoCasasDecimais);
formato.setMaximumFractionDigits(maximoCasasDecimais);
retorno = new BigDecimal(formato.parse(valor).doubleValue());
} catch (Throwable e) {
log.warn("JavaUtils.convertStringDecimalToBigDecimal() - Erro de " +
"conversao. Vai retornar null. Error: " + e);
}
}
return retorno;
}
[java] isBigDecimalVazio
/**
* Verifica se o BigDecimal está vazio (se é null ou igual a 0)
*
* @param valor
* @return boolean
*/
public static boolean isBigDecimalVazio(BigDecimal valor) {
try {
BigDecimal zero = new BigDecimal(0);
if (valor.compareTo(zero) == 0) {
// se o numero eh igual a 0 (zero) retorna true
return true;
}
} catch (NullPointerException e) {
// se o numero eh null, retorna true
return true;
}
return false;
}
[java] convertBigDecimalToStringDecimal
/**
* Converte um BigDecimal para uma String no formato
* decimal (valor de moeda, p. ex.). Se o
* BigDecimal for vazio ou se ocorrer uma exceção,
* retorna uma String vazia ("")
*
* @param valor
* @param locale - pegue o Locale desejado pelo
* método "getLocale..." do JavaUtils
* @param minimoCasasDecimais
* @param maximoCasasDecimais
* @return String
*/
public static String convertBigDecimalToStringDecimal(BigDecimal valor, Locale locale,
int minimoCasasDecimais, int maximoCasasDecimais) {
String retorno = "";
if (JavaUtils.isBigDecimalNaoVazio(valor)) {
try {
NumberFormat formato = DecimalFormat.getNumberInstance(locale);
formato.setMinimumFractionDigits(minimoCasasDecimais);
formato.setMaximumFractionDigits(maximoCasasDecimais);
retorno = formato.format(valor);
} catch (Throwable e) {
log.warn("JavaUtils.convertBigDecimalToStringDecimal() - Erro de " +
"conversao. Vai retornar \"\". Error: " + e);
}
}
return retorno;
}
* Converte um BigDecimal para uma String no formato
* decimal (valor de moeda, p. ex.). Se o
* BigDecimal for vazio ou se ocorrer uma exceção,
* retorna uma String vazia ("")
*
* @param valor
* @param locale - pegue o Locale desejado pelo
* método "getLocale..." do JavaUtils
* @param minimoCasasDecimais
* @param maximoCasasDecimais
* @return String
*/
public static String convertBigDecimalToStringDecimal(BigDecimal valor, Locale locale,
int minimoCasasDecimais, int maximoCasasDecimais) {
String retorno = "";
if (JavaUtils.isBigDecimalNaoVazio(valor)) {
try {
NumberFormat formato = DecimalFormat.getNumberInstance(locale);
formato.setMinimumFractionDigits(minimoCasasDecimais);
formato.setMaximumFractionDigits(maximoCasasDecimais);
retorno = formato.format(valor);
} catch (Throwable e) {
log.warn("JavaUtils.convertBigDecimalToStringDecimal() - Erro de " +
"conversao. Vai retornar \"\". Error: " + e);
}
}
return retorno;
}
[java] getLocaleEUA
/**
* Retorna o Locale dos Estados Unidos
*
* @return Locale
*/
public static Locale getLocaleEUA() {
return Locale.ENGLISH;
}
* Retorna o Locale dos Estados Unidos
*
* @return Locale
*/
public static Locale getLocaleEUA() {
return Locale.ENGLISH;
}
[java] getLocaleBrasil
/**
* Retorna o Locale do Brasil
*
* @return Locale
*/
public static Locale getLocaleBrasil() {
return new Locale("pt", "BR");
}
* Retorna o Locale do Brasil
*
* @return Locale
*/
public static Locale getLocaleBrasil() {
return new Locale("pt", "BR");
}
[java] isBigDecimalNaoVazio
/**
* Verifica se o BigDecimal não está vazio (se não é null nem igual a 0)
*
* @param valor
* @return boolean
*/
public static boolean isBigDecimalNaoVazio(BigDecimal valor) {
return !JavaUtils.isBigDecimalVazio(valor);
}
* Verifica se o BigDecimal não está vazio (se não é null nem igual a 0)
*
* @param valor
* @return boolean
*/
public static boolean isBigDecimalNaoVazio(BigDecimal valor) {
return !JavaUtils.isBigDecimalVazio(valor);
}
domingo, 25 de julho de 2010
[java] convertStringArrayToIntArray
convertendo um array de strings de em um array de int:
/**
* The function stringArrayToIntArray takes as input a String array which is assumed to
* contain Strings that represent ints. It returns an int array containing the ints
* represented by each String from the String array.
*
* @param s
* @return int[]
*/
public static int[] convertStringArrayToIntArray(String[] s) {
try {
int[] intArray;
try {
intArray = new int[s.length];
} catch (NullPointerException e2) {
return null;
}
for (int i = 0; i < s.length; i++) { try {
intArray[i] = Integer.parseInt(s[i]);
} catch (Throwable e) {
try {
if (s[i].equals("")) {
intArray[i] = 0;
continue;
}
} catch (NullPointerException e1) {
intArray[i] = 0;
continue;
}
throw e;
}
}
return intArray;
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.convertStringArrayToIntArray() - Error on convert the String array \"" +
s + "\" to an int array. Error details: " + e);
}
}
/**
* The function stringArrayToIntArray takes as input a String array which is assumed to
* contain Strings that represent ints. It returns an int array containing the ints
* represented by each String from the String array.
*
* @param s
* @return int[]
*/
public static int[] convertStringArrayToIntArray(String[] s) {
try {
int[] intArray;
try {
intArray = new int[s.length];
} catch (NullPointerException e2) {
return null;
}
for (int i = 0; i < s.length; i++) { try {
intArray[i] = Integer.parseInt(s[i]);
} catch (Throwable e) {
try {
if (s[i].equals("")) {
intArray[i] = 0;
continue;
}
} catch (NullPointerException e1) {
intArray[i] = 0;
continue;
}
throw e;
}
}
return intArray;
} catch (Throwable e) {
throw new RuntimeException(
"JavaUtils.convertStringArrayToIntArray() - Error on convert the String array \"" +
s + "\" to an int array. Error details: " + e);
}
}
Assinar:
Postagens (Atom)