java从数据库中提取数据字符串。txt文件
当我输入一个文件并试图提取打印的字符串并从中加倍时,我最终提取了文本本身的信息。我插入了一个系统。出来println进入我的while循环以打印文件中的行,它还打印额外的文本信息行。我试图只从文件中获取书面文本,忽略以下行:
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx8640\ql\qnatural\pardirnatural“
我这样做是为了从文件中获取信息,用它们生成字符串数组。 该程序的目的是输入一个包含多行信息的文件(姓氏(字符串)、名(字符串)、账户余额(双倍)),分别提取每一行,将每一行字符串放入数组列表中,对数组列表进行排序(先按姓氏,然后按姓氏),然后输出一个文件,并输出名称。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();
}
}
# 1 楼答案
这个问题与TextEdit(Mac OS文本编辑器)的保存方式有关。文本文件。我将相同的信息写入了JEdit,并用相同的扩展名保存了它,它删除了所有的文本信息行。谢谢你抽出时间
# 2 楼答案
你的绳子坏了。Java在读取时会自动将\字符填充为\
因此你得到了
您唯一可能做的事情是将字符串作为字节数组读取,并删除与\相当的字节。检查是否可能