锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
Firefox2.0娣誨姞鏂伴殢絎擩S鑴氭湰寮傚父錛侊紒
|/__
鎹簡椋庢牸
]]>
閫氬父鐨勫仛娉曟槸璋冪敤JFileChooser.showXXX()鏂規硶鏄劇ず鏂囦歡閫夊彇瀵硅瘽妗嗗茍涓旈夋嫨涓涓枃浠跺悗錛岀偣鍑?font face="Courier New">Approve 鎸夐挳錛堥粯璁ゆ儏鍐典笅鏍囨湁 "Open" 鎴?"Save"錛?/font>錛?/font>褰撳璇濇鍏抽棴鍚庝嬌鐢↗FileChooser.getSelectedFile()鏂規硶寰楀埌閫夊彇鐨勬枃浠訛紙鎴栦嬌鐢↗FileChooser.getSelectedFiles()鍙栧緱閫夊彇鐨勬枃浠舵暟緇勶級錛岀劧鍚庡啀瀵硅閫夊彇鐨勬枃浠舵湁鏁堟ц繘琛岄獙璇侊紙渚嬪錛屾枃浠剁殑鏂囦歡鍚嶆槸鍚﹀悎娉曘侀夊彇鐨勮礬寰勪笅鏄惁宸叉湁鍚屽悕鏂囦歡瀛樺湪絳夌瓑錛夛紝濡傛灉楠岃瘉涓嶉氳繃錛岄渶瑕佸啀嬈℃墦寮鏂囦歡閫夋嫨瀵硅瘽妗嗚繘琛岄夊彇銆?br />
鏄劇劧錛岄獙璇佹病鏈夐氳繃鐨勬儏鍐典笅錛屾枃浠墮夊彇瀵硅瘽妗嗚鍙嶅鐨勬墦寮鍜屽叧闂紝褰卞搷鐢ㄦ埛浣撻獙銆?br />
鎴戠幇鍦ㄤ粙緇嶄竴涓柟娉曪紝鍦ㄧ偣鍑諱簡鏂囦歡閫夊彇瀵硅瘽妗嗕笂鐨?font face="Courier New">Approve 鎸夐挳鍚庯紝鏂囦歡閫夊彇瀵硅瘽妗嗗叧闂墠瀵歸夊彇鐨勬枃浠惰繘琛岄獙璇侊紝濡傛灉楠岃瘉娌℃湁閫氳繃錛岄偅涔堝璇濇涓嶅叧闂紝鐩存帴榪涜涓嬩竴嬈¢夋嫨銆?br />
鏌ョ湅JFileChooser鐨凙PI錛屽彲浠ュ彂鐜拌繖鏍蜂竴涓柟娉?public void approveSelection() 錛岃繖涓柟娉曚細鍦ㄧ敤鎴峰崟鍑?Approve 鎸夐挳鏃剁敱 UI 璋冪敤姝ゆ柟娉曘傚鑷翠嬌鐢ㄧ瓑浜?APPROVE_SELECTION
鐨勫懡浠ゅ瓧絎︿覆嬋鍙戜竴涓搷浣滀簨浠躲?br />
閭d箞錛屾垜浠幇鍦ㄥ彲浠ラ夋嫨緇ф壙JFileChooser鍐嶈鍐欒繖涓柟娉曪紝灝嗗閫変腑鏂囦歡鐨勬湁鏁堟ч獙璇佸啓鍏ヨ繖涓柟娉曚腑錛屽彧鏈夊綋楠岃瘉閫氳繃鏃舵墠璋冪敤瓚呯被鐨刟pproveSelection() 瀹屾垚鏂囦歡閫夊彇錛屽惁鍒欑洿鎺ヨ繑鍥烇紝緇х畫閫夋嫨鏂扮殑鏂囦歡銆?br />
涓嬮潰鏄垜鍐欑殑涓涓猟emo浠ヤ緵鍙傝冿細
import java.io.File;
import javax.swing.JOptionPane;
/**
聽* 鍦?JFileChooser 涓繘琛屾枃浠墮獙璇佺殑灝忔妧宸?br />聽* @author Chen Wei
聽* @email chenwei.mobi@gmail.com
聽*/
public class JFileChooserDemo extends javax.swing.JFileChooser{
聽聽聽
聽聽聽 public void approveSelection(){
聽聽聽聽聽聽聽 File file = getSelectedFile();
聽聽聽聽聽聽聽
聽聽聽聽聽聽聽 // 楠岃瘉鏂囦歡鍚嶆槸鍚﹀悎娉?br />聽聽聽聽聽聽聽 if (!validateFileName(file.getName())) {
聽聽聽聽聽聽聽聽聽聽聽 JOptionPane.showMessageDialog(getParent(), "鏂囦歡鍚嶄笉鑳藉寘鍚笅鍒椾換浣曞瓧絎︿箣涓錛歕n \\ / : * ? \" < > |");
聽聽聽聽聽聽聽聽聽聽聽 return;
聽聽聽聽聽聽聽 }else{
聽聽聽聽聽聽聽聽聽聽聽 super.approveSelection();
聽聽聽聽聽聽聽 }
聽聽聽 }
聽聽聽
聽聽聽 /**
聽聽聽聽 * 楠岃瘉杈撳叆瀛楃涓插弬鏁版槸鍚︿負鏈夋晥鏂囦歡鍚嶃?br />聽聽聽聽 * @param name 寰呴獙璇佺殑鏂囦歡鍚嶅瓧絎︿覆銆?br />聽聽聽聽 * @return 閫氳繃楠岃瘉錛屾枃浠跺悕鏃犳晥榪斿洖 false錛屾湁鏁堣繑鍥?true銆?br />聽聽聽聽 */
聽聽聽 public static boolean validateFileName(String name) {
聽聽聽聽聽聽聽 if (name.indexOf('\\') != -1 || name.indexOf('/') != -1 ||
聽聽聽聽聽聽聽聽聽聽聽 name.indexOf(':') != -1 || name.indexOf('*') != -1 ||
聽聽聽聽聽聽聽聽聽聽聽 name.indexOf('?') != -1 || name.indexOf('"') != -1 ||
聽聽聽聽聽聽聽聽聽聽聽 name.indexOf('<') != -1 || name.indexOf('>') != -1 ||
聽聽聽聽聽聽聽聽聽聽聽 name.indexOf('|') != -1) {
聽聽聽聽聽聽聽聽聽聽聽 return false;
聽聽聽聽聽聽聽 } else {
聽聽聽聽聽聽聽聽聽聽聽 return true;
聽聽聽聽聽聽聽 }
聽聽聽 }
聽聽聽
聽聽聽 public static void main(String[] args){
聽聽聽聽聽聽聽 JFileChooserDemo chooser = new JFileChooserDemo();
聽聽聽聽聽聽聽 chooser.showOpenDialog(null);
聽聽聽 }
}
紼嬪簭榪愯鎴浘錛?br />
UTF-8搴旇鏄彲浠ョ敤鏉ヨ〃紺轟腑鏂囩殑鍚э紵鎴戜笉鐭ラ亾榪欐槸涓嶆槸Jdom鐨勪竴涓狟UG錛圝dom 1.0錛宐eta浜?0嬈$殑浜х墿鍝︼紒錛夈傛垜google浜嗕竴涓嬶紝澶у瑙e喅榪欎釜闂鐨勫姙娉曟棤闈炴槸鎶奐dom鐨勮緭鍑哄瓧絎﹂泦鏀逛負GBK鎴栬匞B2312錛屼絾鏄繖鏍峰氨浼氭湁涓浜涘壇浣滅敤錛屽鏋滃湪娌℃湁鐗瑰畾瀛楃闆嗭紙GBK鎴栬匞B2312錛夌殑鎿嶄綔緋葷粺涓婁笉鏄緷鐒朵笉鑳芥紜В鏋愬悧錛熶竴涓瘮杈冨ソ鐨勮В鍐沖姙娉曟槸鍏堟妸涓枃杞崲鎴怳nicode緙栫爜鍦ㄧ洿鎺ヨ緭鍑猴紝紼嬪簭瑙f瀽XML鍚庣殑鏃跺欏啀鎶奤nicode緙栫爜杞洖涓枃灝辨病鏈夐棶棰樹簡銆?/p>
浜庢槸鎴戞煡鐪嬩簡JDK鐨勬枃妗o紝鎴嚦Java 5濂藉儚閮芥病鏈夊仛綾諱技杞崲鐨勭被鍙互鐩存帴浣跨敤錛屼絾鏄垜鍙戠幇涓涓被 java.util.Properties錛屽畠鐨勬簮浠g爜閲屾湁涓や釜縐佹湁錛坧rivate錛夋柟娉?loadConvert (char[] in, int off, int len, char[] convtBuf) 鍜?saveConvert(String theString, boolean escapeSpace) 鍏跺疄灝辨槸鍋氱壒孌婂瓧絎﹀拰Unicode緙栫爜瀛楃闂磋漿鎹㈢殑錛屾垜鎶婂畠浠彁鍙栧嚭鏉ワ紝鍗曠嫭鍖呰鍒頒竴涓被閲屽氨鍙互浣跨敤浜嗐?/p>
涓嬮潰鏄垜鍖呰鐨勭被 CharacterSetToolkit
/*
聽* CharacterSetToolkit.java
聽*
聽* Created on 2006騫?0鏈?7鏃? 涓嬪崍2:06
聽*
聽* To change this template, choose Tools | Template Manager
聽* and open the template in the editor.
聽*/
package mobi.chenwei.lang;
/**
聽* 榪涜瀛楃鎿嶄綔鐨勫伐鍏風被
聽* @author Chen Wei
聽* @email chenwei.mobi@gmail.com
聽*/
public class CharacterSetToolkit {
聽聽聽
聽聽聽 /** Creates a new instance of CharacterSetToolkit */
聽聽聽 public CharacterSetToolkit() {
聽聽聽 }
聽聽聽
聽聽聽 private static final char[] hexDigit = {
聽聽聽聽聽聽聽 '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
聽聽聽 };
聽聽聽
聽聽聽 private static char toHex(int nibble) {
聽聽聽聽聽聽聽 return hexDigit[(nibble & 0xF)];
聽聽聽 }
聽聽聽
聽聽聽 /**
聽聽聽聽 * 灝嗗瓧絎︿覆緙栫爜鎴?Unicode 銆?br />聽聽聽聽 * @param theString 寰呰漿鎹㈡垚Unicode緙栫爜鐨勫瓧絎︿覆銆?br />聽聽聽聽 * @param escapeSpace 鏄惁蹇界暐絀烘牸銆?br />聽聽聽聽 * @return 榪斿洖杞崲鍚嶶nicode緙栫爜鐨勫瓧絎︿覆銆?br />聽聽聽聽 */
聽聽聽 public static String toUnicode(String theString, boolean escapeSpace) {
聽聽聽聽聽聽聽 int len = theString.length();
聽聽聽聽聽聽聽 int bufLen = len * 2;
聽聽聽聽聽聽聽 if (bufLen < 0) {
聽聽聽聽聽聽聽聽聽聽聽 bufLen = Integer.MAX_VALUE;
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 StringBuffer outBuffer = new StringBuffer(bufLen);
聽聽聽聽聽聽聽 for(int x=0; x<len; x++) {
聽聽聽聽聽聽聽聽聽聽聽 char aChar = theString.charAt(x);
聽聽聽聽聽聽聽聽聽聽聽 // Handle common case first, selecting largest block that
聽聽聽聽聽聽聽聽聽聽聽 // avoids the specials below
聽聽聽聽聽聽聽聽聽聽聽 if ((aChar > 61) && (aChar < 127)) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (aChar == '\\') {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append('\\'); outBuffer.append('\\');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 continue;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append(aChar);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 continue;
聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽 switch(aChar) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case ' ':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (x == 0 || escapeSpace)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append('\\');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append(' ');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '\t':outBuffer.append('\\'); outBuffer.append('t');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '\n':outBuffer.append('\\'); outBuffer.append('n');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '\r':outBuffer.append('\\'); outBuffer.append('r');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '\f':outBuffer.append('\\'); outBuffer.append('f');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '=': // Fall through
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case ':': // Fall through
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '#': // Fall through
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '!':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append('\\'); outBuffer.append(aChar);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 default:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if ((aChar < 0x0020) || (aChar > 0x007e)) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append('\\');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append('u');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append(toHex((aChar >> 12) & 0xF));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append(toHex((aChar >>聽 8) & 0xF));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append(toHex((aChar >>聽 4) & 0xF));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append(toHex( aChar聽聽聽聽聽聽聽 & 0xF));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 } else {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 outBuffer.append(aChar);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 return outBuffer.toString();
聽聽聽 }
聽聽聽
聽聽聽 /**
聽聽聽聽 * 浠?Unicode 鐮佽漿鎹㈡垚緙栫爜鍓嶇殑鐗規畩瀛楃涓層?br />聽聽聽聽 * @param in Unicode緙栫爜鐨勫瓧絎︽暟緇勩?br />聽聽聽聽 * @param off 杞崲鐨勮搗濮嬪亸縐婚噺銆?br />聽聽聽聽 * @param len 杞崲鐨勫瓧絎﹂暱搴︺?br />聽聽聽聽 * @param convtBuf 杞崲鐨勭紦瀛樺瓧絎︽暟緇勩?br />聽聽聽聽 * @return 瀹屾垚杞崲錛岃繑鍥炵紪鐮佸墠鐨勭壒孌婂瓧絎︿覆銆?br />聽聽聽聽 */
聽聽聽 public String fromUnicode(char[] in, int off, int len, char[] convtBuf) {
聽聽聽聽聽聽聽 if (convtBuf.length < len) {
聽聽聽聽聽聽聽聽聽聽聽 int newLen = len * 2;
聽聽聽聽聽聽聽聽聽聽聽 if (newLen < 0) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 newLen = Integer.MAX_VALUE;
聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽 convtBuf = new char[newLen];
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 char aChar;
聽聽聽聽聽聽聽 char[] out = convtBuf;
聽聽聽聽聽聽聽 int outLen = 0;
聽聽聽聽聽聽聽 int end = off + len;
聽聽聽聽聽聽聽 while (off < end) {
聽聽聽聽聽聽聽聽聽聽聽 aChar = in[off++];
聽聽聽聽聽聽聽聽聽聽聽 if (aChar == '\\') {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 aChar = in[off++];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (aChar == 'u') {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // Read the xxxx
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int value = 0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 for (int i = 0; i < 4; i++) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 aChar = in[off++];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 switch (aChar) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '0':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '1':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '2':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '3':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '4':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '5':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '6':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '7':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '8':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case '9':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value = (value << 4) + aChar - '0';
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'a':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'b':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'c':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'd':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'e':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'f':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value = (value << 4) + 10 + aChar - 'a';
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'A':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'B':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'C':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'D':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'E':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 case 'F':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value = (value << 4) + 10 + aChar - 'A';
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 default:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 throw new IllegalArgumentException(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 "Malformed \\uxxxx encoding.");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 out[outLen++] = (char) value;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 } else {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (aChar == 't') {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 aChar = '\t';
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 } else if (aChar == 'r') {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 aChar = '\r';
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 } else if (aChar == 'n') {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 aChar = '\n';
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 } else if (aChar == 'f') {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 aChar = '\f';
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 out[outLen++] = aChar;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽 } else {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 out[outLen++] = (char) aChar;
聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 return new String(out, 0, outLen);
聽聽聽 }
}
鏇存柊鍐呭錛?/p>
1銆佷笂嫻風殑涓幆銆佸鐜互鍐呯殑鏁版嵁娣誨姞錛岃繖鏍蜂竴鏉ユ暣涓笂嫻風殑鏁版嵁灝卞叏浜嗭紝澶у鎯沖幓鍝紝灝卞彲浠ョ湅鍒板摢浜嗐?/p>
聽2銆佷笁緇村疄鏅獥鍙e彉澶э紝鐪嬮珮妤間笉閭d箞绱簡錛氾級
3銆佹搷浣滄寜閽噸鏂拌璁★紝榪欐牱澶у鍙互鏂逛究瀹炵幇鍦ㄨ閬撲腑琛岃蛋銆佸叏灞忔祻瑙堢瓑寰堥叿鐨勪綋楠屻?/p>
4銆佸疄鏅湴鍥懼垎浜細鍙互鏂逛究鍦ㄥ湴鍥炬坊鍔犳枃瀛楄〃榪幫紝濡傗滄垜鐨勫鈥濓紝騫墮氳繃msn錛宷q錛宐log錛岃鍧涚瓑鏂瑰紡涓庝粬浜哄垎浜?/p>
鐣岄潰鍏堢澒涓哄揩錛?/p>