Stream closed

Hi,

I cannot find the reason for

java.io.IOException: Stream closed

as "System.out.println (...)" prints these lines, but FileWriter breaks after the 2nd line (when I look inti the ouput file).

Error message in detail:

Rekursions-Ebene: 1, child no. 0, child name: Zeit, node: Vertrieb

Rekursions-Ebene: 2, child no. 0, child name: 1996, node: Zeit

Rekursions-Ebene: 3, child no. 1, child name: 1997, node: Zeit

java.io.IOException: Stream closed

at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:98)

at java.io.BufferedWriter.write(BufferedWriter.java:197)

at java.io.Writer.write(Writer.java:126)

at io.TextOut.out01(TextOut.java:27)

at db.TreePredSucc.getChildren(TreePredSucc.java:113)

at db.TreePredSucc.getChildren(TreePredSucc.java:119)

at db.TreePredSucc.buildNodes(TreePredSucc.java:88)

at MakeTree.<init>(MakeTree.java:19)

at MCP.main(MCP.java:27)

java.io.IOException: Stream closed

at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:98)

at java.io.BufferedWriter.write(BufferedWriter.java:197)

at java.io.Writer.write(Writer.java:126)

at java.io.BufferedWriter.newLine(BufferedWriter.java:219)

at io.TextOut.out01(TextOut.java:33)

at db.TreePredSucc.getChildren(TreePredSucc.java:113)

at db.TreePredSucc.getChildren(TreePredSucc.java:119)

at db.TreePredSucc.buildNodes(TreePredSucc.java:88)

at MakeTree.<init>(MakeTree.java:19)

at MCP.main(MCP.java:27)

Rekursions-Ebene: 4, child no. 2, child name: 1998, node: Zeit

java.io.IOException: Stream closed

at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:98)

at java.io.BufferedWriter.write(BufferedWriter.java:197)

at java.io.Writer.write(Writer.java:126)

at io.TextOut.out01(TextOut.java:27)

at db.TreePredSucc.getChildren(TreePredSucc.java:113)

at db.TreePredSucc.getChildren(TreePredSucc.java:119)

at db.TreePredSucc.buildNodes(TreePredSucc.java:88)

at MakeTree.<init>(MakeTree.java:19)

at MCP.main(MCP.java:27)

java.io.IOException: Stream closed

at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:98)

at java.io.BufferedWriter.write(BufferedWriter.java:197)

at java.io.Writer.write(Writer.java:126)

at java.io.BufferedWriter.newLine(BufferedWriter.java:219)

at io.TextOut.out01(TextOut.java:33)

at db.TreePredSucc.getChildren(TreePredSucc.java:113)

at db.TreePredSucc.getChildren(TreePredSucc.java:119)

at db.TreePredSucc.buildNodes(TreePredSucc.java:88)

at MakeTree.<init>(MakeTree.java:19)

at MCP.main(MCP.java:27)

Rekursions-Ebene: 5, child no. 3, child name: 1999, node: Zeit

java.io.IOException: Stream closed

at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:98)

at java.io.BufferedWriter.write(BufferedWriter.java:197)

at java.io.Writer.write(Writer.java:126)

at io.TextOut.out01(TextOut.java:27)

at db.TreePredSucc.getChildren(TreePredSucc.java:113)

at db.TreePredSucc.getChildren(TreePredSucc.java:119)

at db.TreePredSucc.buildNodes(TreePredSucc.java:88)

at MakeTree.<init>(MakeTree.java:19)

at MCP.main(MCP.java:27)

java.io.IOException: Stream closed

at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:98)

at java.io.BufferedWriter.write(BufferedWriter.java:197)

at java.io.Writer.write(Writer.java:126)

at java.io.BufferedWriter.newLine(BufferedWriter.java:219)

at io.TextOut.out01(TextOut.java:33)

at db.TreePredSucc.getChildren(TreePredSucc.java:113)

at db.TreePredSucc.getChildren(TreePredSucc.java:119)

at db.TreePredSucc.buildNodes(TreePredSucc.java:88)

at MakeTree.<init>(MakeTree.java:19)

at MCP.main(MCP.java:27)

Sourcecode:

import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.IOException;

/* @author scm */

publicclass TextOut{

BufferedWriter bWriter;

public TextOut(String driveNam, String dirNam, String fNam)throws IOException{

if (driveNam.equals("")) driveNam ="c";

if (driveNam.trim().endsWith(":") ) driveNam = driveNam.trim().replaceFirst(":","");

if (dirNam.equals("")) dirNam ="a_ablagefluechtig";

if (fNam.equals("")) fNam ="InOut.txt";

bWriter =new BufferedWriter (new FileWriter (driveNam+":\\"+dirNam+"\\"+fNam));

}

publicvoid out01 (String txt){

System.out.println (txt);

try{

bWriter.write(txt);

}catch (IOException e){

e.printStackTrace();

}

try{

//bWriter.write("\r\n");

bWriter.newLine();

}catch (IOException e1){

e1.printStackTrace();

}

}

publicvoid fClose()throws IOException{

bWriter.close();

}

}

It happens the same way without BufferedWriter

The calling code line is

txout.out01 ("Rekursions-Ebene: "+tmpInt+", child no. "+i+", child name: "+children.elementAt(i).toString()+", node: "+node.toString());

-> node is of type DefaultMutableTreeNode

-> children.elementAt(i).toString() is of following Object type

Who's got an idea?

Thanks

[6912 byte] By [DeutscherMichela] at [2007-10-3 9:28:43]
# 1
err, the stream is closed? You have closed it? Somebody has called fClose()?
ejpa at 2007-7-15 4:43:10 > top of Java-index,Core,Core APIs...
# 2
Oh yes, you're right, I misunderstood the error massage.Thanks very much, I now just needed a few seconds to find the mistake in my code.Michel
DeutscherMichela at 2007-7-15 4:43:10 > top of Java-index,Core,Core APIs...