import java.io.*;
import javax.microedition.io.*;
import javax.microedition.io.file.*;

public class WinFile {
	public String name;
	
	public WinFile(){
		
	}
	
	public void init(String name){
		this.name = name;
	}
	
	public void save(String s){
		Saver sa = new Saver();
		sa.s = s;
		sa.name = name;
		Thread th = new Thread(sa);
		th.start();
	}
	
	public String read(){
		Reader r = new Reader();
		Thread th = new Thread(r);
		th.start();
		String ret = r.read(name); //а вот нифига, все идет в этом же потоке :(
		//Хотя да, это и логично, но тогда я не понимаю как через Thread запустить функцию)
		try{
			th.interrupt();
		} catch (Exception e){}
		th = null;
		r = null;
		return ret;
	}
	
	class Saver implements Runnable {
		public String s;
		public String name;
		
		public void run(){
			try{
				FileConnection fco = (FileConnection) Connector.open(name);
				if(!fco.exists()){
					fco.create();
				}
				DataOutputStream dos = fco.openDataOutputStream();
				dos.writeUTF(s);
				dos.close();
				dos = null;
				fco.close();
				fco = null;
			} catch (Exception e){e.printStackTrace();}
		}
		
	}
	
	class Reader implements Runnable {
		
		public void run(){
			
		}
		
		public String read(String name){
			try{
				FileConnection fc = (FileConnection) Connector.open(name);
				InputStreamReader isr = new InputStreamReader(fc.openInputStream());
				char[] temp = new char[1];
				isr.read(temp);
				isr.close();
				isr = null;
				fc.close();
				fc = null;
				return new String(temp);
			} catch (Exception e){}
			return "";
		}
		
	}

}
		
	