Puenden decirme com solucionar estos dos errores en archivos en java. se le agardeceria muxo.
aqui es el 1ro parts[i]=cambiarformato1(parts[i]);
el segundo es: String[] hora=cadena.substring(cadena.length()-15,cadena.length()-1).split(":");
los errores que me salen son estos :
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.substring(String.java:1931)
at geral.Main.cambiarformato1(Main.java:81)
at geral.Main.main(Main.java:59)
Java Result: 1
ojala me muestres si puedes claro donde cometo el error :) riqhardo.
package geral;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
/**
* @author Ricardo A
**/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
//*Capturar el nombre del archivo.
BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
String nombre;
//**************CODIGO PARA ESCRIBIR EN UN ARCHIVO**************//
FileWriter fichero = null;
PrintWriter pw = null;
//**************CODIGO PARA LEER EN UN ARCHIVO**************//
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
//******************archivo a donde se escribira***********************//
fichero = new FileWriter("C:Documents and SettingsRicardo AEscritoriogeralprueba.txt");
pw = new PrintWriter(fichero);
archivo = new File ("C:Documents and SettingsRicardo AEscritoriogeraltblclsBaplie.txt");
fr = new FileReader (archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
String[] parts=new String[280];
String[] hora=new String[8];
String corregido="";
while((linea=br.readLine())!=null)
{
String nvaHr;
parts = linea.split("##");
for(int i=0;i
el segundo es: String[] hora=cadena.substring(cadena.length()-15,cadena.length()-1).split(":");
los errores que me salen son estos :
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.substring(String.java:1931)
at geral.Main.cambiarformato1(Main.java:81)
at geral.Main.main(Main.java:59)
Java Result: 1
ojala me muestres si puedes claro donde cometo el error :) riqhardo.
package geral;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
/**
* @author Ricardo A
**/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
//*Capturar el nombre del archivo.
BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
String nombre;
//**************CODIGO PARA ESCRIBIR EN UN ARCHIVO**************//
FileWriter fichero = null;
PrintWriter pw = null;
//**************CODIGO PARA LEER EN UN ARCHIVO**************//
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
//******************archivo a donde se escribira***********************//
fichero = new FileWriter("C:Documents and SettingsRicardo AEscritoriogeralprueba.txt");
pw = new PrintWriter(fichero);
archivo = new File ("C:Documents and SettingsRicardo AEscritoriogeraltblclsBaplie.txt");
fr = new FileReader (archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
String[] parts=new String[280];
String[] hora=new String[8];
String corregido="";
while((linea=br.readLine())!=null)
{
String nvaHr;
parts = linea.split("##");
for(int i=0;i
Hola, las excepciones java.lang.StringIndexOutOfBoundsException ocurren siempre que se trata de acceder a una posición de un arreglo (arraylist, list, etc) que no esta definido. Ej: Si tenemos un arraylist con 7 elementos y tratamos de acceder al elemento nro 8 esto nos arroja la exception "java.lang.StringIndexOutOfBoundsException".
Como solucionamos estos problemas:
Chequear que el arreglo tenga elementos por ej: si arreglo.length()>7 ==> podemos acceder arreglo.get(6)
Espero haber ayudo con tu problema.
PD: Fijate que a continuación de la excepción te dice en que linea se genero dicha excepcion.
Como solucionamos estos problemas:
Chequear que el arreglo tenga elementos por ej: si arreglo.length()>7 ==> podemos acceder arreglo.get(6)
Espero haber ayudo con tu problema.
PD: Fijate que a continuación de la excepción te dice en que linea se genero dicha excepcion.