import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
import java.util.regex.*;
/**
*
*/
/**
* @author Administrator
*
*/
public class Test {
/**
*
*/
public Test() {
// TODO Auto-generated constructor stub
}
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Scanner stdin = new Scanner(System.in);
System.out.println("请输入包含所有基因家族blast文件的文件名,如:/path/file:");
String geneFamily_blast_all = stdin.nextLine();
// 输入包含所有染色体序列文件目录的文件,多个染色体序列
Scanner chromoStdin = new Scanner(System.in);
System.out.println("请输入包含染色体序列文件的文件名,如:/path/file:");
String chromo_all = chromoStdin.nextLine();
FileReader geneFamily_blast_freader = null;
BufferedReader geneFamily_blast_breader = null;
// FileReader chromo_all_freader = null;
// BufferedReader chromo_all_breader = null;
RandomAccessFile rf = null;
try {
geneFamily_blast_freader = new FileReader(geneFamily_blast_all);
geneFamily_blast_breader = new BufferedReader(
geneFamily_blast_freader);
// chromo_all_freader = new FileReader(chromo_all);
// chromo_all_breader = new BufferedReader(chromo_all_freader);
rf = new RandomAccessFile(chromo_all, "rw");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("geneFamily_blast_all File Not Found!");
}
String geneFamily_blast_filepath = "";
String chromo_all_filepath = "";
/*
* 输入路径是这种情况:D:\statistic\rice_genomices\chromosome01.fasta 模式用下面的
* Pattern pattern = Pattern.compile("[\\\\.]"); 如果
* 路径是这样的,D:/statistic/rice_genomices/chromosome01.fasta 则用Pattern
* pattern = Pattern.compile("[/\\.]");
*/
Pattern pattern = Pattern.compile("[/\\.]");
String[] strs1 = null;
String[] strs2 = null;
String genefamily_out = "";
while ((geneFamily_blast_filepath = geneFamily_blast_breader.readLine()) != null) {
strs1 = pattern.split(geneFamily_blast_filepath);
int i=0;
while ((chromo_all_filepath = rf.readLine()) != null) {
i=i+1;
strs2 = pattern.split(chromo_all_filepath);
genefamily_out = strs1[4] + "_" + strs2[3] + "." + strs2[4];
System.out.println("genefamily_out " + genefamily_out);
/*
* for (int i = 0; i < strs1.length; i++) { System.out.println(i
* + strs1[i]); }
*/
}
if (i==12) {
rf.seek(0);
}
}
}
/*
* for (int i = 0; i < strs2.length; i++) { System.out.println(i +
* strs2[i]); }
*/
}
评论