Element_T
asked on
Read Text File and write a Text File
How I can read a text(rtf) file and write one in Java.
Here my solution, its from a book , little bit modified, but not working,
thanks
I get flowing code error:
run:
java.lang.NullPointerExcep tion
at java.io.Reader.<init>(Read er.java:61 )
at java.io.BufferedReader.<in it>(Buffer edReader.j ava:76)
at java.io.BufferedReader.<in it>(Buffer edReader.j ava:91)
at LiesDateiEin.readFile(Lies DateiEin.j ava:19)
at Start.main(Start.java:13)
java.lang.NullPointerExcep tion
at java.io.Writer.<init>(Writ er.java:71 )
at java.io.BufferedWriter.<in it>(Buffer edWriter.j ava:83)
at java.io.BufferedWriter.<in it>(Buffer edWriter.j ava:70)
at LiesDateiEin.writeTextFile (LiesDatei Ein.java:4 9)
at Start.main(Start.java:14)
BUILD SUCCESSFUL (total time: 0 seconds)
Here my solution, its from a book , little bit modified, but not working,
thanks
I get flowing code error:
run:
java.lang.NullPointerExcep
at java.io.Reader.<init>(Read
at java.io.BufferedReader.<in
at java.io.BufferedReader.<in
at LiesDateiEin.readFile(Lies
at Start.main(Start.java:13)
java.lang.NullPointerExcep
at java.io.Writer.<init>(Writ
at java.io.BufferedWriter.<in
at java.io.BufferedWriter.<in
at LiesDateiEin.writeTextFile
at Start.main(Start.java:14)
BUILD SUCCESSFUL (total time: 0 seconds)
import java.io.*;
import java.util.*;
public class LiesDateiEin {
/**
* Lädt eine Textdatei mit der angegebenen Zeichenkodierung
* @param fileName Name der Datei
* @param charSet Name der zeichenkodierung
* @return String Objekt mit eingelesenem Text oder null bei Fehler
*/
public static String readFile(String fileName) {
String result = null;
try {
InputStreamReader reader = null;
BufferedReader in = new BufferedReader(reader);
StringBuilder buffer = new StringBuilder();
int c;
while ((c = in.read()) > 0) {
buffer.append((char) c);
}
in.close();
return buffer.toString();
} catch (Exception e) {
e.printStackTrace();
result = null;
}
return result;
}
/*
* Schreibt einen String als Textdatei in der angegebenen Zeichekodierung
* @param date Zu schreibender String
* @param charSet Zeichenkodierung
* return true bei Erfolg
*/
public static boolean writeTextFile(String data, String fileName) {
boolean result = true;
try {
OutputStreamWriter writer = null;
BufferedWriter out = new BufferedWriter(writer);
out.write(data,0, data.length());
out.close();
}catch (Exception e){
e.printStackTrace();
result = false;
}
return result;
}
}
------------------------------------
public class Start {
public static void main (String []args){
String text = LiesDateiEin.readFile(".\\a.rtf");
boolean status = LiesDateiEin.writeTextFile(text, ".\\ab.rtf");
}
}
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
hmm..I tried your code but get flowing error code during compiling:
Compiling 3 source files to /Users/hasanturhal/NetBean sProjects/ DateiEinle sen/build/ classes
/Users/hasanturhal/NetBean sProjects/ DateiEinle sen/src/Li esDateiEin .java:47: cannot find symbol
symbol : class OutpuStreamWriter
location: class LiesDateiEin
OutputStreamWriter writer = new OutpuStreamWriter(new FileOutputStream(fileName, true));
1 error
/Users/hasanturhal/NetBean sProjects/ DateiEinle sen/nbproj ect/build- impl.xml:4 13: The following error occurred while executing this line:
/Users/hasanturhal/NetBean sProjects/ DateiEinle sen/nbproj ect/build- impl.xml:1 99: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)
Compiling 3 source files to /Users/hasanturhal/NetBean
/Users/hasanturhal/NetBean
symbol : class OutpuStreamWriter
location: class LiesDateiEin
OutputStreamWriter writer = new OutpuStreamWriter(new FileOutputStream(fileName,
1 error
/Users/hasanturhal/NetBean
/Users/hasanturhal/NetBean
BUILD FAILED (total time: 0 seconds)
Sorry, there is a type in error (missing a letter):
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(fileName, true));
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(fileName,
ASKER
I try that too, but the same error...maybe something is wrong somewhere else...
But no errors during compiling, errors during running..
I think something is wrong in "start" class.
But no errors during compiling, errors during running..
I think something is wrong in "start" class.
ASKER
run:
java.lang.NullPointerExcep tion
at java.io.Reader.<init>(Read er.java:61 )
at java.io.BufferedReader.<in it>(Buffer edReader.j ava:76)
at java.io.BufferedReader.<in it>(Buffer edReader.j ava:91)
at LiesDateiEin.readFile(Lies DateiEin.j ava:19)
at Start.main(Start.java:13)
java.lang.NullPointerExcep tion
at LiesDateiEin.writeTextFile (LiesDatei Ein.java:5 0)
at Start.main(Start.java:14)
BUILD SUCCESSFUL (total time: 1 second)
java.lang.NullPointerExcep
at java.io.Reader.<init>(Read
at java.io.BufferedReader.<in
at java.io.BufferedReader.<in
at LiesDateiEin.readFile(Lies
at Start.main(Start.java:13)
java.lang.NullPointerExcep
at LiesDateiEin.writeTextFile
at Start.main(Start.java:14)
BUILD SUCCESSFUL (total time: 1 second)
ASKER
public class Start {
public static void main (String []args){
String text = LiesDateiEin.readFile(".\\ a.txt");
boolean status = LiesDateiEin.writeTextFile (text, ".\\ab.txt");
}
}
public static void main (String []args){
String text = LiesDateiEin.readFile(".\\
boolean status = LiesDateiEin.writeTextFile
}
}
Line 60, do you have those dotted lines in your code?
If so, you should remove them.
If so, you should remove them.
Make sure the file a.rtf does exist at the specified location.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
InputStreamReader reader = null;
as follows:
InputStreamReader reader = new InputStreamReader(new FileInputStream(fileName))