programming-examples/java/Core_Java/Write 'real' ASCII File.java

76 lines
2.2 KiB
Java
Raw Normal View History

2019-11-15 12:59:38 +01:00
Write 'real' ASCII File
import java.io.*;
import java.awt.*;
public class j {
myFrame f;
public static void main(String args[]){
j aj = new j();
aj.doit();
}
public void doit(){
f = new myFrame();
}
}
class myFrame extends Frame {
TextField tf;
Button b;
myFrame(){
setLayout(new FlowLayout());
tf = new TextField(20);
b = new Button("Write");
add(tf);
add(b);
setSize(200,200);
setVisible(true);
}
public boolean action(Event e, Object o) {
if (e.target == b) {
// TextField content
String s = tf.getText();
// JAVA string
String t = "<EFBFBD> \u0082";
try {
/*
** Deals with TextField content
** we use CodePage850 because this the
** multilingual character set used on the PC.
*/
// output is ASCII (codepage 850)
FileOutputStream f = new FileOutputStream("out.dat");
f.write(s.getBytes("Cp850"));
f.write("\n\r".getBytes());
// output is Windows ANSI (if under Win)
f.write(s.getBytes());
f.write("\n\r".getBytes());
/*
** Deals with a JAVA String
*/
// first character stays the same
// Unicode escape sequence is translated to ascii
f.write(t.getBytes());
f.write("\n\r".getBytes());
// first char translated
// Unicode escape code garbage!
f.write(t.getBytes("Cp850"));
f.write("\n".getBytes());
f.close();
/*
** the conclusion for String is that you
** can't use both Unicode and converter.
*/
}
catch (Exception e) {
e.printStackTrace();
}
return true;
}
return false;
}
}