⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xport.java

📁 这是一个可以将文本格式的PS2金手指文件转换成XPORT2格式的原码
💻 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名字字符数
			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个数
			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代码行数
					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 + -