我这里有这段代码
java.io.File file=new java.io.File("deneme2.txt");
try{
Scanner input=new Scanner(file);
while(input.hasNext()){
String inputFile= input.nextLine();
String[] sequences =inputFile.split(" ");
它读取文件,但我必须编辑每个文件,因为当输入是这样时我无法读取.txt
ATGAGATACG
AGTCTCTAG
但是当我做
时我可以阅读ATGAGATACG AGTCTCTAG
我试图制作\ n和类似的东西,但我不能。
你们这些人能帮助我吗?
我确信它有一个非常简单的解决方案:)一个我不知道的解决方案
编辑:在第一个例子中,2个序列用移位输入划分,但第二个序列用单个空格划分
答案 0 :(得分:0)
您是否可能要创建sequences
数组?就像你想要这个文件
ATGAGATACG <-- each of these being a sequence
AGTCTCTAG
成为这样的数组
String[] sequences = {"ATGAGATACG", "AGTCTCTAG"};
如果是这样,你可以做这样的事情
List<String> sequences = new ArrayList<String>(); <-- create a list
java.io.File file=new java.io.File("deneme2.txt");
try{
Scanner input = new Scanner(file);
while(input.hasNextLine()){
sequences.add(input.nextLine().trim()); <-- add to the list each line
}
修改
如果它只有两行,为什么不这样做,而忘记循环
String s1;
String s2;
try {
Scanner input = new Scanner(file);
s1 = input.nextLine().trim();
s2 = input.nextLine().trim();
} catch(.. ){
}
// do something with s1
// do something with s2
答案 1 :(得分:0)
听起来你想要创建独立于文件格式的文件代码。在某种程度上,这是不可能的。任何程序都必须假设某种类型的输入模式 - 无论是XML,分隔文本等等。因此将其分解为两种方法:使文件适合代码或使代码适合文件。
根据您的描述,我猜您希望能够读取由空格分隔的一系列字符 - 任何空格('','\ n','\ t '),是吗?如果这是真的,不要限制自己逐行阅读。只需阅读每个令牌。当然,这假定每个令牌都是你想要的。
我创建了一个包含内容的测试文件
abcd efg h ijklm op qrs
有换行符,空格和制表符。然后我把它喂给下面的代码:
public static void main(String[] args){
try{
Scanner scanner = new Scanner(new File("testFile.txt"));
List<String> list = new ArrayList<String>();
while(scanner.hasNext()){
String s = scanner.next();
list.add(s);
}
scanner.close();
System.out.println(list);
}catch(FileNotFoundException e){
e.printStackTrace();
}
}
给出输出
[abcd, efg, h, ijklm, op, qrs]