>1A3B:H|PDBID|CHAIN|SEQUENCE
IVEGSDAEIGMSPWQVMLFRKSPQELLCGASLISDRWVLTAAHCLLYPPWDKNFTENDLLVRIGKHSRTRYERNIEKISM
LEKIYIHPRYNWRENLDRDIALMKLKKPVAFSDYIHPVCLPDRETAASLLQAGYKGRVTGWGNLKETWTANVGKGQPSVL
QVVNLPIVERPVCKDSTRIRITDNMFCAGYKPDEGKRGDACEGDSGGPFVMKSPFNNRWYQMGIVSWGEGCDRDGKYGFY
THVFRLKKWIQKVIDQFGE
>1A3B:I|PDBID|CHAIN|SEQUENCE
GGQSHNDGDFEEIPEEYL
>1A3B:L|PDBID|CHAIN|SEQUENCE
TFGSGEADCGLRPLFEKKSLEDKTERELLESYIDGR
這是存儲在文本文件中的數據。我如何去提取數據嚴格間從JAVA文件中提取特定數據
">1A3B:I|PDBID|CHAIN|SEQUENCE" and ">1A3B:L|PDBID|CHAIN|SEQUENCE",
當只有
">1A3B:I|PDBID|CHAIN|SEQUENCE"
我們所知。
此外,在這個給出的例子中,雖然要檢索的數據只有一行,但它也可以變化多達幾行。 到目前爲止,我嘗試將文件的全部內容寫入字符串變量並使用子字符串,但由於末尾索引未知,該邏輯似乎有缺陷。請幫忙
import java.io. *;公共類ReadingChainSpecificFastaSequence {
public static void main(String[] args) { File file = new File("1A3B.fasta.txt"); BufferedInputStream bin = null; try { FileInputStream fin = new FileInputStream(file); bin = new BufferedInputStream(fin); byte[] contents = new byte[1024]; int bytesRead=0; String strFileContents=null; while((bytesRead = bin.read(contents)) != -1){ strFileContents = new String(contents, 0, bytesRead); } // System.out.print(strFileContents); String search = ">1A3B:I|PDBID|CHAIN|SEQUENCE"; int start = (strFileContents.indexOf(search))+30; String search2= ">1A3B:L|PDBID|CHAIN|SEQUENCE"; int end= (strFileContents.indexOf(search2)); String result = strFileContents.substring(start,end); } catch(FileNotFoundException e) { System.out.println("File not found" + e); } catch(IOException ioe) { System.out.println("Exception while reading the file "+ ioe); } finally { try{ if(bin != null) bin.close(); }catch(IOException ioe) { System.out.println("Error while closing thestream:"+ioe); } } } }
請在問題中包含您的代碼。 –
正則表達式是你的朋友 – Mark
什麼意思_when只有'> 1A3B:I | PDBID | CHAIN | SEQUENCE'是我們所知道的._?你的意思是說你不知道結尾分隔符是什麼?這部分沒有意義。或者,您的意思是要提取的數據在''''下一行開始處結束? –