文件I / O实践。

时间:2017-02-23 01:48:37

标签: java file-io io

我试图从名为boysNames.txt的文件中获取名称。那包含1000个男孩名字。例如,文件中的每一行看起来像这样:

  1. Devan
  2. 克里斯
  3. 汤姆
  4. 目标只是尝试阅读名称,但我无法在java.util包中找到允许我只抓取文件boysName.txt中的名称的方法。

    例如,我只是想抓住Devan,然后是下一个Chris和Tom。

    NOT" 1。德万"和" 2。克里斯&#34。

    问题是hasNextLine抓住整条线。我不想要" 1。"一部分。

    所以我只想让Devan,Chris,Tom读取或存储在String类型的变量中。有谁知道这是怎么做到的吗?我已经尝试了HasNext(),但这没有用。

    这里的代码在这里你可以得到一个视觉效果:

     import java.io.PrintWriter;
        import java.io.FileOutputStream;
        import java.io.FileNotFoundException;
        import java.util.Scanner;
        import java.io.FileInputStream;
        public class PracticeWithTxtFiles {
          public static void main(String[] args){
            PrintWriter outputStream = null;
            Scanner inputStream = null;
          try{
              outputStream = new PrintWriter(new FileOutputStream("boys.txt")); //opens up the file boys.txt
              inputStream = new Scanner(new FileInputStream("boyNames.txt"));//opens up the file boyNames.txt
          }catch(FileNotFoundException e){
              System.out.println("Problem opening/creating files");
              System.exit(0);     
          }
    
          String names = null;
          int ssnumbers= 0;
    
          while(inputStream.hasNextLine())//problem is right here need it to just  
               // grab String representation of String, not an int              
             {
              names = inputStream.nextLine();
               ssnumbers++;
               outputStream.println(names + " " + ssnumbers);
          }
    
          inputStream.close();
          outputStream.close();
      }
    }
    

1 个答案:

答案 0 :(得分:0)

如果您不知道,请检查此String API的Replace方法 String - Library

只需进行替换,就像那样简单。

 names  = names.replace(".","").replaceAll("[0-9]+","").trim()