G
Guest
Gast
Hi zusammen,
ich möchte ein ca. 2,6 Mb großes HTML File, das einzelne Tags wie Name, Titel usw. enthält, mit Hilfe von Java parsen und anschließend mit den Werten daraus weiterarbeiten. Leider tritt bei zu langen Tags manchmal ein Seitenumbruch auf. Deshalb würde ich gerne alle Newline Commands aus dem File entfernen, so dass ich nur noch eine Zeile habe.
Momentan schaffe ich das nur über Umwege, indem ich mir Zeile für Zeile die Datei in einem String speichere und diesen anschließend in ein neues File speichere.
Das Problem dabei ist, dass Java warum auch immer sehr lange für das Zusammensetzen des htmlfile-Strings benötigt. Deshalb habe ich versucht aus dem File ein CharArray zu erstellen, welches ich dann in einen String umwandeln wollte. Dabei kommt als Ergebnis aber leider nur ein Hashwert raus. Woran liegt das?
Habt ihr vielleicht eine Lösung für mein Problem?
ich möchte ein ca. 2,6 Mb großes HTML File, das einzelne Tags wie Name, Titel usw. enthält, mit Hilfe von Java parsen und anschließend mit den Werten daraus weiterarbeiten. Leider tritt bei zu langen Tags manchmal ein Seitenumbruch auf. Deshalb würde ich gerne alle Newline Commands aus dem File entfernen, so dass ich nur noch eine Zeile habe.
Momentan schaffe ich das nur über Umwege, indem ich mir Zeile für Zeile die Datei in einem String speichere und diesen anschließend in ein neues File speichere.
Code:
private static void prepareFile()
{
File file = new File("report.html");
String htmlfile = null;
try
{
FileReader fin = new FileReader(file);
BufferedReader bin = new BufferedReader(fin);
System.out.println("file " + file.getName() + " was accessed");
while (bin.ready())
{
htmlfile += bin.readLine() + " ";
}
/* closing the file file */
bin.close();
fin.close();
System.out.println("file " + file.getName() + " was closed");
}catch (IOException e1)
{
e1.printStackTrace();
}
FileWriter fw = null;
try
{
fw = new FileWriter( "report_short.txt" );
fw.write(htmlfile);
}
catch ( IOException e ) {
System.err.println( "Konnte Datei nicht erstellen" );
}
finally
{
if ( fw != null )
try
{
fw.close();
} catch ( IOException e )
{
//
}
}
}
Das Problem dabei ist, dass Java warum auch immer sehr lange für das Zusammensetzen des htmlfile-Strings benötigt. Deshalb habe ich versucht aus dem File ein CharArray zu erstellen, welches ich dann in einen String umwandeln wollte. Dabei kommt als Ergebnis aber leider nur ein Hashwert raus. Woran liegt das?
Habt ihr vielleicht eine Lösung für mein Problem?
Code:
// /* get character count */
// int charCount = 0;
// try
// {
// FileReader fin = new FileReader(file);
// BufferedReader bin = new BufferedReader(fin);
//
// System.out.println("file " + file.getName() + " was accessed");
//
// while(bin.ready())
// {
// bin.read();
// charCount++;
// }
//
// /* closing the file file */
// bin.close();
// fin.close();
// System.out.println("file " + file.getName() + " was closed");
//
// }catch (IOException e1)
// {
// e1.printStackTrace();
// }
//
// char[] charArray = new char[charCount];
//
// /* kill newline commands */
// for (int i=0; i<charArray.length; i++)
// {
// if (charArray[i] == '\n' ||charArray[i] == '\r')
// {
// charArray[i] = ' ';
// }
// }
//
// /* create new String */
// String htmlfile = charArray.toString();
Gruß Markus