我试图从名为boysNames.txt的文件中获取名称。那包含1000个男孩名字。例如,文件中的每一行看起来像这样:
目标只是尝试阅读名称,但我无法在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();
}
}
答案 0 :(得分:0)
如果您不知道,请检查此String API的Replace方法 String - Library
只需进行替换,就像那样简单。
names = names.replace(".","").replaceAll("[0-9]+","").trim()