<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2ME 技術的學習與實踐者

    2008年3月21日 #

    j2me如何讀取網上資源文件例如文本文件,圖形文件,歡迎投稿!

    j2me如何讀取網上資源文件例如文本文件,圖形文件。

    例如,讀取www.kingdart.cn/jaccount/imobile.png 轉換為Image
    又例如:讀取www.kingdart.cn/jaccount/readme.txt 轉換為String

    只在模擬器上成功我也會,要求是真機上成功!

    posted @ 2008-03-25 22:56 iwinyeah 閱讀(620) | 評論 (1)編輯 收藏

    [導入]WTK模擬器之RMS(5 還是有可能在手機上做出文件式RMS的)


    網站: JavaEye  作者: iwinyeah  鏈接:http://iwinyeah.javaeye.com/blog/174850  發表時間: 2008年03月22日

    聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

    我的錯!在沒有認真閱讀FileConnection文檔之后就妄下結論.最近下載了fileconnection_spec_1.00文檔,發現其中有一個方法
    public java.io.OutputStream openOutputStream(long byteOffset)
    throws java.io.IOException
    該方法在打開輸出流時可指定寫入的位置,寫入的數據將覆蓋舊數據,利用這個方法,還是有可能在手機上實現文件式RMS的.

    現在我正在做手機理財JAccount的文件備份和恢復,還分不出身來嘗試,有興趣的朋友可以自已試一下如果OK了,別忘了告訴我一聲哦!
    本文的討論也很精彩,瀏覽討論>>


    JavaEye推薦




    文章來源:http://iwinyeah.javaeye.com/blog/174850

    posted @ 2008-03-22 17:01 iwinyeah 閱讀(595) | 評論 (3)編輯 收藏

    [導入]FileConnection如何使用?


    網站: JavaEye  作者: iwinyeah  鏈接:http://iwinyeah.javaeye.com/blog/174754  發表時間: 2008年03月22日

    聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

    由于要為手機理財JAccount增加數據導出到文本文件功能,我為其增加了exportToFile(String fileName)方法,使用Moto模擬器(A630)時發現裝入JAR階段已出錯,錯誤的信息是:
    ALERT: Unable to load class javax/microedition/io/file/FileConnection,RAZR_V3則正常.要知道,我從未打算為不同的手機制作不同的JAR,我計劃是在代碼中檢查該手機是否支持FileConnection,若支持的話,菜單項才增加備份和恢復命令項.
    如果所有不支持FileConnection的手機都不能裝入的話,那不是只能為支持的開發一個版本,不支持的又開發另一個版本?
    本文的討論也很精彩,瀏覽討論>>


    JavaEye推薦




    文章來源:http://iwinyeah.javaeye.com/blog/174754

    posted @ 2008-03-22 10:55 iwinyeah 閱讀(326) | 評論 (0)編輯 收藏

    [導入]字段輸入流FieldInuptStream


    網站: JavaEye  作者: iwinyeah  鏈接:http://iwinyeah.javaeye.com/blog/174645  發表時間: 2008年03月21日

    聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

    /**
     * --------------------------------------------------
     * 字段輸入流
     * --------------------------------------------------
     * 從DataInputStream繼承
     * 主要增加了從文本格式輸入流中讀入數據字段的能力
     * --------------------------------------------------
     * 
     * @author iwinyeah 李永超
     * @version 1.0.0
     * */
    
    import java.io.DataInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    public class FieldInputStream extends DataInputStream {
    	public final static int BIN_MODE = 0;
    
    	public final static int TXT_MODE = 1;
    
    	int mode;
    
    	public FieldInputStream(InputStream in, int mode) {
    		super(in);
    		this.mode = mode;
    	}
    
    	public boolean getBoolean() throws IOException {
    		if (mode == 0) {
    			return readBoolean();
    		} else {
    			if ("1".equals(next())) {
    				return true;
    			}
    			return false;
    		}
    	}
    
    	public byte getByte() throws IOException {
    		if (mode == 0) {
    			return readByte();
    		} else {
    			return (byte) Integer.parseInt(next());
    		}
    	}
    
    	public short getShort() throws IOException {
    		if (mode == 0) {
    			return readShort();
    		} else {
    			return (short) Integer.parseInt(next());
    		}
    	}
    
    	public int getInt() throws IOException {
    		if (mode == 0) {
    			return readInt();
    		} else {
    			return Integer.parseInt(next());
    		}
    	}
    
    	public long getLong() throws IOException {
    		if (mode == 0) {
    			return readLong();
    		} else {
    			return Long.parseLong(next());
    		}
    	}
    
    	public String getString() throws IOException {
    		if (mode == 0) {
    			if (read() == 0) {
    				return null;
    			} else {
    				return readUTF();
    			}
    		} else {
    			return next();
    		}
    	}
    
    	// 取下一標識符
    	private byte[] buffer = new byte[255];
    
    	private int length = 0;
    
    	private boolean eos = false;
    
    	private final static int INITIAL = 0;
    
    	private final static int ESCAPE = 1;
    
    	private final static int COMMENT_START = 2;
    
    	private final static int LINE_COMMENT = 3;
    
    	private final static String WHITESPACE = "\n\r\t";
    
    	public String next() throws IOException {
    		length = 0;
    		int c = in.read();
    		int status = INITIAL;
    		READWHILE: while (c != -1) { // 一直讀到文件尾
    
    			switch (status) {
    			case INITIAL:
    				if (c == '\n' || c == '\t') { // 如果是分隔符
    					break READWHILE;
    				} else if (c == '\\') {
    					status = ESCAPE; // 設轉義字符標志
    				} else if (c == '/') {
    					status = COMMENT_START; // 設注釋標志
    				} else {
    					if (WHITESPACE.indexOf(c) < 0) {
    						append(c);
    					}
    				}
    				break;
    
    			case ESCAPE: // 處理轉義字符
    				switch (c) {
    				case 'n':
    					append('\n');
    					break;
    
    				case 'r':
    					append('\r');
    					break;
    
    				case 't':
    					append('\t');
    					break;
    
    				case 'b':
    					append('\b');
    					break;
    
    				case 'f':
    					append('\f');
    					break;
    
    				default:
    					append(c);
    					break;
    				}
    				status = INITIAL; // 設正常情況標志
    				break;
    
    			case COMMENT_START: // 處理注釋
    				if (c == '/') {
    					status = LINE_COMMENT; // 是行式注釋
    				} else {
    					status = INITIAL;
    					// 如果都不是則把注釋起始符和剛讀入的字符都加入到標識符中
    					append('/');
    					append(c);
    				}
    				break;
    
    			case LINE_COMMENT:
    				if (c == '\n') {
    					status = INITIAL; // 如果當前為行注釋狀態則要一直讀到行尾才恢復正常情況標志
    					break READWHILE;
    				}
    				break;
    			}
    			c = in.read(); // 讀入下一字符
    		}
    
    		if (c == -1) {
    			eos = true;
    		}
    
    		// 如果讀到文件尾時,標識符長度大于零,則返回標識符,否則返回NULL值
    		if (length <= 0) {
    			return null;
    		} else {
    			return new String(buffer, 0, length, "UTF-8");
    		}
    	}
    
    	// 將讀入的字符加入緩沖區
    	private void append(int c) {
    		// 緩沖區不足時自動擴展
    		if (length >= buffer.length) {
    			byte[] xBuffer = new byte[buffer.length + 16];
    			System.arraycopy(buffer, 0, xBuffer, 0, buffer.length);
    			buffer = null;
    			buffer = xBuffer;
    		}
    
    		buffer[length++] = (byte) c;
    	}
    
    	public boolean eos() {
    		return eos;
    	}
    }
    

    請參看我的另一篇文章:字段輸出流FieldOutputStreamhttp://iwinyeah.javaeye.com/admin/blogs/174644
    本文的討論也很精彩,瀏覽討論>>


    JavaEye推薦




    文章來源:http://iwinyeah.javaeye.com/blog/174645

    posted @ 2008-03-21 22:19 iwinyeah 閱讀(169) | 評論 (0)編輯 收藏

    [導入]字段輸出流FieldOutputStream


    網站: JavaEye  作者: iwinyeah  鏈接:http://iwinyeah.javaeye.com/blog/174644  發表時間: 2008年03月21日

    聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

    我的FieldOutputStream繼承了DataOutputStream,這樣就可以只更改很少量的代碼就實現了既支持原生格式又支持文本方式輸出了,稍候一段時間手機理財將可以實現備份和恢復(文本格式)功能了.
    package util;
    /**
     * --------------------------------------------------
     * 字段輸出流
     * --------------------------------------------------
     * 從DataOutputStream繼承
     * 主要增加了向輸出流寫入文本格式的數據字段的能力
     * 文本格式流將由TAB分隔字段,回車換行符分隔記錄
     * --------------------------------------------------
     * 
     * @author iwinyeah 李永超
     * @version 1.0.0
     * */
    
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    
    public class FieldOutputStream extends DataOutputStream {
    	public final static int BIN_MODE = 0;
    
    	public final static int TXT_MODE = 1;
    
    	private final static byte[] fieldSplit = {'\t'};
    
    	private final static byte[] recordSplit = {'\r','\n'};
    
    	private int mode;
    	
    	private boolean nextEnd = false;
    
    	public FieldOutputStream(OutputStream out, int mode) {
    		super(out);
    		this.mode = mode;
    	}
    
    	// 接著寫入的是否最后一個字段
    	// 寫第一個字段前以參數false調用它
    	// 寫最后一個字段前以參數false調用它
    	public void setNextEnd(boolean end){
    		nextEnd = end;
    	}
    	
    	public void putBoolean(boolean value) throws IOException {
    		if (mode == 0) {
    			writeBoolean(value);
    		} else {
    			out.write(value ? '1' : '0');
    			out.write(nextEnd ? recordSplit : fieldSplit);
    		}
    	}
    
    	public void putByte(byte value) throws IOException {
    		if (mode == 0) {
    			writeByte(value);
    		} else {
    			out.write(String.valueOf(value).getBytes("UTF-8"));
    			out.write(nextEnd ? recordSplit : fieldSplit);
    		}
    	}
    
    	public void putShort(short value) throws IOException {
    		if (mode == 0) {
    			writeShort(value);
    		} else {
    			out.write(String.valueOf(value).getBytes("UTF-8"));
    			out.write(nextEnd ? recordSplit : fieldSplit);
    		}
    	}
    
    	public void putInt(int value) throws IOException {
    		if (mode == 0) {
    			writeInt(value);
    		} else {
    			out.write(String.valueOf(value).getBytes("UTF-8"));
    			out.write(nextEnd ? recordSplit : fieldSplit);
    		}
    	}
    
    	public void putLong(long value) throws IOException {
    		if (mode == 0) {
    			writeLong(value);
    		} else {
    			out.write(String.valueOf(value).getBytes("UTF-8"));
    			out.write(nextEnd ? recordSplit : fieldSplit);
    		}
    	}
    
    	public void putString(String value) throws IOException {
    		if (mode == 0) {
    			if (value == null) {
    				writeByte(0);
    			} else {
    				writeByte(1);
    				writeUTF(value);
    			}
    		} else {
    			if(value != null){
    				byte[] b = value.getBytes("UTF-8");
    				for(int i = 0; i < b.length; i++){
    					if(b[i] == '\n'){
    						out.write('\\');
    						out.write('n');
    					}
    					else if(b[i] == '\r'){
    						out.write('\\');
    						out.write('r');
    					}
    					else if(b[i] == '\t'){
    						out.write('\\');
    						out.write('t');}
    					else if(b[i] == '\b'){
    						out.write('\\');
    						out.write('b');}
    					else if(b[i] == '\f'){
    						out.write('\\');
    						out.write('f');
    					}else{
    						out.write(b[i]);
    					}
    				}				
    			}
    			out.write(nextEnd ? recordSplit : fieldSplit);
    		}
    	}
    
    }
    


    讀回請參看另一篇:字段輸入流FieldInputStream.http://iwinyeah.javaeye.com/admin/blogs/174645
    本文的討論也很精彩,瀏覽討論>>


    JavaEye推薦




    文章來源:http://iwinyeah.javaeye.com/blog/174644

    posted @ 2008-03-21 22:16 iwinyeah 閱讀(207) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 成年女人午夜毛片免费视频| 久久青草国产免费观看| 久久精品女人天堂AV免费观看| 亚洲AV无码乱码在线观看裸奔| 国产精品偷伦视频免费观看了 | 四虎永久在线免费观看| 亚洲国产欧美日韩精品一区二区三区 | 91精品国产免费久久国语麻豆| 亚洲伊人tv综合网色| 精品一区二区三区免费毛片爱| 亚洲视频在线观看网址| 国产又黄又爽又猛免费app| 色老板亚洲视频免在线观| 在线免费观看色片| 污视频网站免费观看| 亚洲精品乱码久久久久久中文字幕 | 巨胸喷奶水视频www免费视频| 久久亚洲伊人中字综合精品| 8x成人永久免费视频| 亚洲综合色一区二区三区| 免费国产成人高清在线观看麻豆 | WWW亚洲色大成网络.COM| 亚洲AV无码乱码在线观看性色扶 | 成人毛片免费在线观看| 深夜免费在线视频| 亚洲综合在线观看视频| 大学生高清一级毛片免费| 一区免费在线观看| 911精品国产亚洲日本美国韩国| 无人在线观看完整免费版视频| 国产亚洲综合视频| 亚洲国产精品无码成人片久久| 国产成人午夜精品免费视频| 疯狂做受xxxx高潮视频免费| 亚洲成a人片在线观看无码专区| 久久精品a一国产成人免费网站| 深夜福利在线视频免费| 亚洲一级片在线播放| 亚洲人成网站色在线入口| 亚洲一区二区三区免费在线观看| 亚洲国产成人精品无码区花野真一 |