?? xport.java
字號:
import java.io.*;
public class Xport{
public static void main(String args[]){
Xport X = new Xport();
if(X.make()){
System.out.println("生成文件成功,請在當前目錄下查找b.xpc文件!");
}
else{
System.out.println("生成文件失敗,請檢察當前目錄中的a.txt文件格式是否正確!");
}
}
//生成XPC文件的方法
public boolean make(){
try{
String codes;
int m,i,n=0;
int[] codesinfo;
codesinfo = this.test("D:/Xport/a.txt");
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("D:/Xport/a.txt")));
FileOutputStream bw = new FileOutputStream("D:/Xport/b.xpc");
//加入文件頭
bw.write(14);bw.write(0);bw.write(0);bw.write(0);bw.write(83);bw.write(104);bw.write(97);bw.write(114);bw.write(107);bw.write(80);bw.write(111);bw.write(114);bw.write(116);bw.write(67);bw.write(79);bw.write(68);bw.write(69);bw.write(83);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(0);bw.write(1);bw.write(0);bw.write(0);bw.write(0);
//GAME名字字符數(shù)
codes = br.readLine();
bw.write(codes.length());bw.write(0);bw.write(0);bw.write(0);
//GAME名字
for(i=0;i<codes.length();i++){
bw.write(codes.charAt(i));
}
//CODE個數(shù)
bw.write(codesinfo.length-1);
bw.write(0);bw.write(0);bw.write(0);
do{
//讀取一行
codes = br.readLine();
if(codes==null){break;}
//判斷行的第一個字符是否是[
if(codes.charAt(0)==91){
n++;
//取出CODE的名字并寫入文件
bw.write(codes.length()-2);
bw.write(0);bw.write(0);bw.write(0);
//將[]之間的字符寫入文件
for(i=1;i<codes.lastIndexOf(93);i++){
bw.write(codes.charAt(i));
}
for(i=0;i<8;i++)bw.write(0);
//寫入CODE代碼行數(shù)
m=codesinfo[n]*2;
bw.write(m);
bw.write(0);bw.write(0);bw.write(0);
}
//判斷行的第一個字符是否是1-9、A-Z、a-z
if(codes.charAt(0)>47 && codes.charAt(0)<58 || codes.charAt(0)>64 && codes.charAt(0)<91 || codes.charAt(0)>96 && codes.charAt(0)<123){
bw.write(8);bw.write(0);bw.write(0);bw.write(0);
for(i=0;i<8;i++){
bw.write(codes.charAt(i));
}
bw.write(8);bw.write(0);bw.write(0);bw.write(0);
for(i=0;i<8;i++){
bw.write(codes.charAt(i+9));
}
}
}while(true);
bw.flush();
br.close();
bw.close();
return true;
}catch(Exception e){return false;}
}
//反回TXT文件信息的方法
public int[] test(String file){
try{
String str;
int x=0;
BufferedReader brw = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
do{
str=brw.readLine();
if(str == null)
break;
if(str.charAt(0)==91)
x++;
}while(true);
brw.close();
int[] codes=new int[x+1];
int code=0;
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
br.readLine();
do{
str=br.readLine();
if(str == null)
break;
if(str.charAt(0)==91)
code++;
if(str.charAt(0)>47 && str.charAt(0)<58 || str.charAt(0)>64 && str.charAt(0)<91 || str.charAt(0)>96 && str.charAt(0)<123)
codes[code]++;
}while(true);
br.close();
return codes;
}catch(Exception e){return null;}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -