如何读取txt文件中的\ n以便在拆分中使用

时间:2013-12-19 12:51:43

标签: java file-io

我这里有这段代码

    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个序列用移位输入划分,但第二个序列用单个空格划分

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]