将文件中的句子存储到字符串java中

时间:2013-10-07 00:34:25

标签: java string filereader

如何将文件中的句子存储到字符串中,然后将下一行(由数字组成)存储到字符串中?

当我使用hasNextline或nextLine时,它们都不起作用。我很困惑。

     Scanner kb = new Scanner(System.in);
     String secretMessage = null;
     String message, number = null;
     File file = new File(System.in);
     Scanner inputFile = new Scanner(file);

     while(inputFile.hasNext())
     {
           message = inputFile.nextLine();
           number = inputFile.nextLine();
     }


     System.out.println(number + "and " + message);

2 个答案:

答案 0 :(得分:0)

您循环遍历整个文件,覆盖messagenumber变量,然后在结尾处打印一次。像这样在循环中移动print语句,这样就会打印每一行。

       while(inputFile.hasNext())
       {
           message = inputFile.nextLine();
           number = inputFile.nextLine();
           System.out.println(number + "and " + message);
       }

答案 1 :(得分:0)

我从文件中读取行的一个建议是使用Files.readAllLines()方法。

import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class Display_Summary_Text {

public static void main(String[] args)
{
    String fileName = "//file_path/TestFile.txt";

    try
    {
        List<String> lines = Files.readAllLines(Paths.get(fileName), Charset.defaultCharset());
        String eol = System.getProperty("line.separator");
        for (int i = 0; i <lines.size(); i+=2)
        {
            System.out.println(lines.get(i).toString() + "and" + lines.get(i+1) + eol);
        }
    }catch(IOException io)
    {
        io.printStackTrace();
    }
}
}

使用此设置,您还可以创建stringBuilder和Writer,以便在需要时将输出保存到文件中。