java使用游标向txt文件添加信息
因此,我试图将文本添加到一个txt文件中,我已经成功地做到了这一点,用户会被提示他们想要添加什么,并且在运行程序后打开txt文件时会包含这些内容
现在,我的问题是:当我第一次尝试向txt文件中添加内容时,它会创建一个空行,并在该空行下包含用户添加的信息,原因是当Java打开我的文件时,键入光标位于最后一行的底部,那里没有空间,可以输入信息,像这样:
好的,很酷,这意味着每当我从Java程序向txt文件添加任何内容时,它都会自动位于新行上,我不需要添加任何println间距来输入新行。现在又出现了另一个问题,在Java将新文本放入txt文件后,它将键入光标保留在添加的新行的末尾,而不是它下面没有数据的新行。这意味着,如果我尝试添加两次新信息,它将出现在同一行,而不是新的。为了解决这个问题,我简单地添加了一个
pw.println();
语句,以确保它将光标放在新行上。但是现在,当我在添加最后一行代码后第一次尝试添加数据时,它会在最后一行数据和我添加的新数据行之间创建一个空白。就像这样:
现在,每当用户想要搜索数据库时,因为我的搜索中有空检查,每当程序遇到我的原始数据和添加的新数据之间的空行时,它都不会继续搜索,因此,用户添加到数据库中的任何信息都将变得无用,Java将无法搜索这些信息,因为分隔这些信息的是空行
基本上,要么我保持原样。println()并将我的所有数据显示出来,但在原始数据之间有一个空格,这样就无法搜索它,或者我可以删除它,然后添加的所有新数据都显示在同一行上,这不是我想要的
以下是向txt文件添加数据的代码:
public static void add() throws IOException
{
String filename="Elements.txt";
PrintWriter pw = new PrintWriter(new FileWriter(filename,true));
pw.println();
String element=JOptionPane.showInputDialog(null, "Enter name of element.", "Add an Element", JOptionPane.INFORMATION_MESSAGE);;
pw.write(element + ",");
String symbol=JOptionPane.showInputDialog(null, "Enter symbol of element.", "Add an Element", JOptionPane.INFORMATION_MESSAGE);;
pw.write(symbol + ",");
String atomicNumber=JOptionPane.showInputDialog(null, "Enter atomic number.", "Add an Element", JOptionPane.INFORMATION_MESSAGE);;
pw.write(atomicNumber + ",");
String atomicMass=JOptionPane.showInputDialog(null, "Enter atomic mass", "Add an Element", JOptionPane.INFORMATION_MESSAGE);;
pw.write(atomicMass + ",");
String valence=JOptionPane.showInputDialog(null, "Enter # of valence electrons.", "Add an Element", JOptionPane.INFORMATION_MESSAGE);;
pw.write(valence);
pw.close();
}
我有没有办法操纵txt文件上的光标,以确保添加的所有新数据正确显示,以便用户可以在以后搜索?打开txt文件,把光标放在我想放的地方,但没用
共 (0) 个答案