Re: Absolute beginner question
On 03/12/2011 05:11 PM, Lord Eldritch wrote:
Hi, I am trying to make with a Swing GUI and I planned to
"store"
all the data from the GUI files in one class like this:
class InputData {
String inputFile="";
String outputFile="";
String logFile="";
setInputFile() {}
I assume you just left out the method guts for brevity, not because your real
code lacks them.
You should post SSCCEs, though.
http://sscce.org/
setOutputFile() {}
setLogFile() {}
log(){}
}
and more... My problem now is that I can't make the "log" system
work so form the main class I woudl say:
id=InputData();
That is not valid Java code.
id.setLogFile("test");
You should really show the methods with complete signatures, even if you feel
you must omit the bodies.
id.log("Log message");
So far, I've been testing with this:
import java.io.*;
public class TestLog {
String a;
FileWriter fstream;
BufferedWriter out;
static TestLog t;
void set() {
a="out.txt";
try {
fstream = new FileWriter(a);
out = new BufferedWriter(fstream);
} catch (Exception e ) {
System.out.println("Exception a");
}
}
void log(String s) {
System.out.println("Test");
try { out.write("test"); }
catch (Exception e ) {
System.out.println("Exception b");
}
}
public static void main(String argv[]) {
That is not the idiomatic Java way to declare an array, which would be 'String
[] args'.
t=new TestLog();
t.set();
t.log("test log");
}
}
The out.write("test"); is executed, but the file "out.txt"
stays emty. Any hint?
'close()'. Why don't you 'close()'? You should 'close()'!
System.out is buffered. On top of that you have a BufferedWriter. Check out
the Javadocs for 'BufferedWriter#close()':
<http://download.oracle.com/javase/6/docs/api/java/io/BufferedWriter.html#close()>
'close()' flushes the buffer.
So does 'flush()'.
--
Lew
Honi soit qui mal y pense.