当用户输入字数时,Java从文本文件中打印一个单词

时间:2014-03-04 09:31:39

标签: java string io

我正在尝试编写一个读取文本文件的Java应用程序。假设我有一个包含文本的文本文件beg.txt

  

我是初学者

当用户输入单词编号4时,程序必须打印“初学者”字样。

我怎么能用Java做这个?

4 个答案:

答案 0 :(得分:0)

在问这个之前先试一试。

只是为了你的帮助。尝试以下步骤,这不是唯一的方法。

  1. 阅读您的文件
  2. 使用空格
  3. 将字符串拆分为字符串数组
  4. 打印阵列[您的选择 - 1]

答案 1 :(得分:0)

   BufferedReader br = null;
   String[] str;

    try {
           String sCurrentLine;
           StringBuilder sb = new StringBuilder();

           br = new BufferedReader(new FileReader("C:\\testing.txt"));

           while ((sCurrentLine = br.readLine()) != null) {
                sb.append(sCurrentLine);
           }
           str = sb.toString.split(" ");

    } catch (IOException e) {
        e.printStackTrace();
    }

如果用户输入4,那么你可以像这样使用数组'str':

  String result = str[userEnteredValue - 1];

注意:以上代码仅在文件包含空格分隔字符时才有效。

答案 2 :(得分:0)

嗯,基本流程如下:

  1. 加载文本文件
  2. 获取用户输入
  3. 使用来自用户
  4. 的参数处理文本文件

    第1步将取决于您使用的Java版本。如果是Java 7,我会看nio2。 Java 6有other options。或者你可以GuavaApache Commons。由于所需的处理是最小的,我将此步骤的输出存储为简单的String

    获取用户输入可以通过多种方式完成,但有一个选项是to use a Scanner

    最后,处理文件可以通过String.split()使用simple regex然后从结果数组中选择正确的元素来完成。

答案 3 :(得分:0)

File read=new File("D:\\Test.txt");
        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(read),Charset.forName("UTF-8")));
        String news = reader.readLine();
        String[] records = news.split(" ");

如果输入为4 并获得记录[4]