我是编程和java的新手。 我想知道如何删除jtextarea上的第一行。 虽然我可以发布我的应用程序的编码,但我不认为它是需要的,而且我在电话上。 请告诉我如何删除jtextfield java中的第一行。
好的......下面是我正在尝试做的代码 - >
String x = (String) jComboBox1.getSelectedItem();
String z = JOptionPane.showInputDialog("Please enter new name for Database");
try{
Class.forName("java.sql.DriverManager");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:"+GlobalParams.portvar+"/",""+k,""+j);
Statement stmnt = (Statement) con.createStatement();
String query3 = "Create database "+z;
stmnt.executeUpdate(query3);
String query = "use "+x;
stmnt.executeQuery(query);
String query2 = "show tables";
Statement stmnt2 = (Statement) con.createStatement();
ResultSet rs = stmnt2.executeQuery(query2);
while (rs.next()){
String dname = rs.getString("Tables_in_"+x);
if(jTextArea1.getText().equals("")){
jTextArea1.setText(jTextArea1.getText()+dname);
}
else{
jTextArea1.setText(jTextArea1.getText()+"\n"+dname);
}
String y = jTextArea1.getText();
Scanner scanner = new Scanner(y);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String query4 = "RENAME TABLE "+x+"."+line+" TO "+z+"."+line;
//I will add remove first line code here.--------------------------------------
stmnt.executeUpdate(query4);
String query5 = "drop database "+x;
stmnt.executeUpdate(query5);
}}}
catch(Exception e){
JOptionPane.showMessageDialog(this,e.getMessage());
}
如您所见,我正在尝试创建一个在mysql中重命名数据库的程序。它工作正常但它只移动一个表然后它在新数据库中给出“表已经存在(它移动的表名相同)”的错误。因为它从textarea中的行中获取表名,所以我怀疑它一次又一次地读取相同的行。所以我的想法是每次代码完成时删除第一行,这样它就不会两次使用相同的表名。 要清楚我想做什么 - > 假设我的文本区域包含以下行 - >
line 1
line 2
line 3
line 4
so on...
我希望在执行代码后,应该删除第1行,并且textarea中的新文本应该是 - >
line 2
line 3
line 4
line 5
so on...
答案 0 :(得分:1)
创建scanner.nextLine()
后,只需致电Scanner
:
Scanner scanner = new Scanner(y);
if (scanner.hasNextLine()) // Skips first line
scanner.nextLine();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
...
}