Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas

Función que obtiene la fecha tras n dias

public static String getHoyMasNDias(int numDias, String fechaEntrada)throws Throwable{
//formato de la fechaEntrada y será también la de salida
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

String salida = "";

Calendar calendar = (Calendar) GregorianCalendar.getInstance();
calendar.setTime(sdf.parse(fechaEntrada));

for (int i = 0; i < numDias; i++) {
calendar.add(Calendar.DATE, 1);
}
return sdf.format(calendar.getTime());

}

Añadir el punto de unidades de millar a un entero mediante un patrón

String numero = "8000";
//definición del patrón de salida

String numberFormat = "##,###";
DecimalFormat df = new DecimalFormat(numberFormat);
DecimalFormatSymbols punto = new DecimalFormatSymbols();

//Definimos el caracter que actuará como separador
punto.setDecimalSeparator('.');
df.setDecimalFormatSymbols(punto);

//aplicación de patron
String nuevoNumero = df.format( Double.parseDouble(numero));

invocación de métodos

Pequeño ejemplo de como invocar métodos java a partir del nombre de la clase, nombre del método, tipos de parámetros de entrada y salida.

import java.lang.reflect.Method;
public class Start {
/*Para el correcto funcionamiento de este ejemplo debe existir un paquete y una clase llamadas "
class_.Test", esta clase debe tener un atributo llamado "nombre" de tipo "String" con un método llamado "getNombre" y otro llamado "setNombre"*/
public static void main(String[] args) throws Throwable {
Class tiposParametrosDelMetodoSetter[] = {Class.forName("java.lang.String")};
Class claseVO = Class.forName("class_.Test");
Object objetoClaseVO = claseVO.newInstance();

Object[] valoresParametrosDelMetodoSetter = {"test setter string"};
String nombreMetodoSetterPorNombreAtributo = "set"+capitalize("nombre");
Method metodoSetter = claseVO.getDeclaredMethod(nombreMetodoSetterPorNombreAtributo, tiposParametrosDelMetodoSetter);
metodoSetter.invoke(objetoClaseVO, valoresParametrosDelMetodoSetter);

System.out.println("Get desde casting al objeto"+((Test) objetoClaseVO).getNombre());

String nombreMetodoGetterPorNombreAtributo = "get"+capitalize("nombre");
Method metodoGetter = claseVO.getDeclaredMethod(nombreMetodoGetterPorNombreAtributo, null);
String salida = (String)metodoGetter.invoke(objetoClaseVO, null);

System.out.println("Get desde invoke del getter"+salida);
}

public static String capitalize(String s) {
if (s == null || s.length() == 0)
return s;
else
return s.substring(0, 1).toUpperCase() + s.substring(1);
}

comprimir lista ficheros con nuevo nombre

public static void comprimirListaFicherosConNuevaRutaNombre(String rutaTemporalZIP, Hashtable rutasFicherosyNuevoNombre){
System.out.println(rutasFicherosyNuevoNombre.toString());
int BUFFER = 2048;
try{
rutaTemporalZIP = rutaTemporalZIP.replace('\\', '/');

//creo la ruta.
String rutaFolderZip = extraerRutaFicheroDeRutaCompleta(rutaTemporalZIP);
new File(rutaFolderZip).mkdirs();

BufferedInputStream origin = null;
FileOutputStream dest = new FileOutputStream(rutaTemporalZIP);
ZipOutputStream out = new ZipOutputStream( new BufferedOutputStream(dest));
// metodo de compresión
//out.setMethod(ZipOutputStream.DEFLATED);
byte data[] = new byte[BUFFER];

Enumeration enumerationRutas = rutasFicherosyNuevoNombre.keys();
ArrayList listRutas = Collections.list(enumerationRutas);

for(Iterator itr=listRutas.iterator(); itr.hasNext(); ){
String rutaFichero = (String) itr.next();
rutaFichero = rutaFichero.replace('\\', '/');
String nuevoNombreFichero = (String) rutasFicherosyNuevoNombre.get(rutaFichero);
ZipEntry entry;

FileInputStream fi = new FileInputStream(rutaFichero);
origin = new BufferedInputStream(fi, BUFFER);

entry = new ZipEntry(nuevoNombreFichero);
out.putNextEntry(entry);
int count;
while((count = origin.read(data, 0, BUFFER))!= -1){
out.write(data, 0, count);
}
origin.close();
}
out.close();
}
catch(IOException e){
e.printStackTrace();
}
}

enviarMail

public static void enviarMailAdjuntos(ArrayList listaRutasAdjuntos, Properties props, String asunto, String mensaje) {
try{
Session session = Session.getDefaultInstance(props);
session.setDebug(true);

MimeMessage message = new MimeMessage(session);

// Asunto (opción de parametrizar en el properties)
message.setSubject(asunto);

// Se compone la parte del texto
BodyPart textoMensaje = new MimeBodyPart();
textoMensaje.setText(mensaje);

// Una MultiParte para agrupar texto y adjunto.
MimeMultipart multiParte = new MimeMultipart();
multiParte.addBodyPart(textoMensaje);

// Añadir adjuntos
for(Iterator itr = listaRutasAdjuntos.iterator(); itr.hasNext();){
String rutaFicheroAdjunto = (String)itr.next();
rutaFicheroAdjunto = rutaFicheroAdjunto.replace('\\', '/');

// Se compone el adjunto
BodyPart adjunto = new MimeBodyPart();
adjunto.setDataHandler(new DataHandler(new FileDataSource(rutaFicheroAdjunto)));
adjunto.setFileName(rutaFicheroAdjunto.substring(rutaFicheroAdjunto.lastIndexOf("/")+1 ));
multiParte.addBodyPart(adjunto);
}

// Contenido (mensaje + adjuntos)
message.setContent(multiParte);


// Quien envia el correo
message.setFrom(new InternetAddress(props.getProperty("mail.smtp.user")));

// A quien va dirigido (Pueden ser varios)
String[] direccionesDestino = props.getProperty("mail.smtp.direccionDestino").split(",");
ArrayList listaDireccionesDestino = new ArrayList(Arrays.asList(direccionesDestino));
for(int i=0; i< listaDireccionesDestino.size(); i++){
String direccionCorreo = (String)listaDireccionesDestino.get(i);
if(direccionCorreo != null){
message.addRecipient(Message.RecipientType.TO, new InternetAddress(direccionCorreo.trim()));
}
}

// Configuro servicio y propiedades
Transport t = session.getTransport("smtp");
t.connect(props.getProperty("mail.smtp.host"),props.getProperty("mail.smtp.user"),props.getProperty("mail.smtp.pass") );//ojo con la pass
t.sendMessage(message,message.getAllRecipients());
t.close();
}

catch (MessagingException e) {
e.printStackTrace();
}
}

FileUpload

http://www.javahispano.org/contenidos/es/como_desarrollar_un_fileupload_con_el_metodo_post/
http://forum.java.sun.com/thread.jspa?threadID=414276&start=15
http://www.proactiva-calidad.com/java/servlets/cargaArchivos.html

stringXmlToHD

public static void stringXmlToHD2(String xml, String rutaFicheroDestino) throws IOException{
ByteArrayInputStream is = new ByteArrayInputStream(xml.getBytes("utf-8"));

int BUFFER_SIZE = 1024;
FileOutputStream out = new FileOutputStream(rutaFicheroDestino);
byte[] buffer= new byte[BUFFER_SIZE];
int r;
while ((r = is.read(buffer)) > -1 ) {
out.write(buffer, 0, r);
}
out.flush();
out.close();
}

Día de la semana de una fecha

// fechaPortada formato dd/mm/aaaa
public String getFechaPortada(String fechaPortada){

String [] fechas = fechaPortada.split("/");
Calendar calendar = Calendar.getInstance();

int dia = Integer.parseInt(fechas[0]);
int mes = Integer.parseInt(fechas[1]);
int anio = Integer.parseInt(fechas[2]);

// ojo el mes 0 es enero
calendar.set(anio, mes-1, dia);

int diaC = calendar.get(Calendar.DAY_OF_WEEK); //dia de la semana
diaC = diaC - 1; // ojo en el formato americano 1 = Domingo
if(diaC == 0){
diaC = 7;
}
String dia_final = this.getDia(diaC);
String mes_final = this.getMes(mes);//getMes contiene un array con los mese en español

return dia_final+", "+Integer.parseInt(fechas[0])+" de "+mes_final+" de "+fechas[2];
}

Fecha con formato

public String fechaFichero(){
long date = pathFichero.lastModified();
Date d = new Date(date);
try {
SimpleDateFormat sd= new SimpleDateFormat("dd/MM/yyyy, HH:mm");
return sd.format(d);
}
catch (IllegalArgumentException e) {
System.out.println("Problemas al obtener la fecha del fichero .rdy");
return "";
}
}

Busqueda por patrones

String pattern = "("+ paginaActualKey +")(\\d)";//creo plantilla creando 2 grupos (..)(..)
Pattern p = Pattern.compile(pattern); //asigno plantilla
Matcher m = p.matcher(query_string); //

//Si encuentro algo rocorro los resultados
if (m.find()) {
String key = m.group(1); //resultado
String value = m.group(2); //
}

cargar properties externo al .jar

InputStream oInputStream = this.getClass().getClassLoader().getResourceAsStream(pathRelativo); //../../test.properties
Properies pro = new Properties();
pro = oProperties.load(oInputStream);

inputStreamToHD

public static void inputStreamToHD(InputStream is, String rutaFicheroDestino) throws IOException{
int BUFFER_SIZE = 1024;
FileOutputStream out = new FileOutputStream(rutaFicheroDestino);
byte[] buffer= new byte[BUFFER_SIZE];
int r;
while ((r = is.read(buffer)) > -1 ) {
out.write(buffer, 0, r);
}
out.flush();
out.close();
}

HDXMLToString2

public static String HDXMLToString2(String rutaFichero) throws IOException{
InputStreamReader in= new InputStreamReader (new FileInputStream(rutaFichero), "UTF-8");
StringBuffer sBuffer = new StringBuffer();
char[] buffer= new char[1];
while (in.read(buffer) > -1){
sBuffer.append(buffer);
}
in.close();
return sBuffer.toString();
}

inputStreamToString

public static String inputStreamToString(InputStream fis) throws IOException{
StringBuffer buffer = new StringBuffer();
InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); //o la codificación del XML
Reader in = new BufferedReader(isr);
int ch;
while ((ch = in.read()) > -1) {
buffer.append((char)ch);
}
in.close();
isr.close();
return buffer.toString();
}

inputStreamToByteArray

public static byte[] inputStreamToByteArray(InputStream is) throws IOException{
if (is == null){
return null;
}
else{
int lBufferSize = 1024;
byte[] lByteBuffer = new byte[lBufferSize];
int lBytesRead = 0;
int lTotbytesRead = 0;

ByteArrayOutputStream lByteArrayOutputStream = new ByteArrayOutputStream(lBufferSize*2);
while ((lBytesRead = is.read(lByteBuffer)) != -1){
lTotbytesRead += lBytesRead;

lByteArrayOutputStream.write(lByteBuffer, 0, lBytesRead);
}
byte [] lDataBytes = lByteArrayOutputStream.toByteArray();
return lDataBytes;
}
}