当我输入一个文件并尝试从中提取打印的字符串并加倍时,我最终会提取有关文本本身的信息。我将 System.out.println 插入到我的 while 循环中以打印文件中的行,它还打印了额外的文本信息行。我试图只从文件中获取书面文本,忽略如下所示的行:
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural"
我这样做是为了可以从文件中获取信息以使用它们制作字符串数组。这个程序的目的是输入一个包含多行信息(姓(字符串)、名字(字符串)、账户余额(双))的文件,分别提取每一行,将每一行字符串放在一个数组列表中,排序数组列表(按姓氏,然后按名字),然后输出一个名为 output.txt 的文件,其中包含新的排序行。这些行将格式化为姓氏、名字,然后是账户余额,每行之间有一个空格。行数可以变化。
输入示例(来自 .txt 文件):
史密斯查尔斯 200.000
艾伦德雷克 5000.00
艾伦特雷 300.00
Burbis Zeik 400.00
赞瑞克 6000.00
输出示例(写入文件 output.txt):
艾伦德雷克 5000.00
艾伦特雷 300.00
Burbis Zeik 400.00
史密斯查尔斯 200.000
赞瑞克 6000.00
谢谢!
public static void main(String[] args) throws IOException {
Scanner fileName = new Scanner(System.in);
String file = fileName.next();
String input;
Scanner fileinput = null;
// File inFile = new File("c:\\csc2310\\test.txt");
File inFile = new File(file);
int i = 0;
try
{
fileinput = new Scanner(inFile);
while(fileinput.hasNext())
{
i++;
System.out.println(i);
input = fileinput.nextLine();
System.out.println(input);
}
fileinput.close();
}catch(FileNotFoundException e)
{
System.out.println(e);
System.exit(1);
}
finally
{
fileinput.close();
}
}