用“”替换文件中的内容达到删除目的
import java.io.InputStreamimport java.io.BufferedReader
import java.io.BufferedWriter
import java.io.FileReader
import java.io.FileWriter
import java.util.Scanner
import java.io.FileNotFoundException
import java.io.IOException
public class zifutihuan
{
protected static void rep(String ch)
{
BufferedReader bis = null
FileWriter bos = null
String s = null
try
{
bis = new BufferedReader(new FileReader("1.txt"))
bos = new FileWriter("2.txt")
while(null != (s = bis.readLine()))
{
s = s.replaceAll(ch,"")
System.out.println(s)
s= s+"\r\n"
bos.write(s)
}
bos.close()
bis.close()
s = null
}
catch(FileNotFoundException e)
{
System.out.println("未找到文件\n")
}
catch(IOException ee)
{
System.out.println("aaa")
}
}
public static void main(String args[])
{
rep("123")
}
}
你可以用StreamReader一行一行地读,直到读完,你把读到的每一行加到ArrayList对象中存放,然后遍历这个ArrayList对象,对每一行进行判断处理,不要的直接删除,然后再用StreamWriter把ArrayList对象中的数据重写到文件中,原来的文件覆盖掉。java中表格的删除是通过事件监控来实现的,示例代码如下:import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import java.awt.event.MouseAdapter
import java.awt.event.MouseEvent
import javax.swing.JButton
import javax.swing.JFrame
import javax.swing.JLabel
import javax.swing.JPanel
import javax.swing.JScrollPane
import javax.swing.JTable
import javax.swing.JTextField
import javax.swing.ListSelectionModel
import javax.swing.table.DefaultTableModel
//维护表格
public class JTableDefaultTableModelTest extends JFrame{
private DefaultTableModel tableModel //表格模型对象
private JTable table
private JTextField aTextField
private JTextField bTextField
public JTableDefaultTableModelTest()
{
super()
setTitle("表格")
setBounds(100,100,500,400)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
String[] columnNames = {"A","B"} //列名
String [][]tableVales={{"A1","B1"},{"A2","B2"},{"A3","B3"},{"A4","B4"},{"A5","B5"}}//数据
tableModel = new DefaultTableModel(tableVales,columnNames)
table = new JTable(tableModel)
JScrollPane scrollPane = new JScrollPane(table) //支持滚动
getContentPane().add(scrollPane,BorderLayout.CENTER)
//jdk1.6
//排序:
//table.setRowSorter(new TableRowSorter(tableModel))
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION) //单选
table.addMouseListener(new MouseAdapter(){//鼠标事件
public void mouseClicked(MouseEvent e){
int selectedRow = table.getSelectedRow()//获得选中行索引
Object oa = tableModel.getValueAt(selectedRow, 0)
Object ob = tableModel.getValueAt(selectedRow, 1)
aTextField.setText(oa.toString()) //给文本框赋值
bTextField.setText(ob.toString())
}
})
scrollPane.setViewportView(table)
final JPanel panel = new JPanel()
getContentPane().add(panel,BorderLayout.SOUTH)
panel.add(new JLabel("A: "))
aTextField = new JTextField("A4",10)
panel.add(aTextField)
panel.add(new JLabel("B: "))
bTextField = new JTextField("B4",10)
panel.add(bTextField)
final JButton addButton = new JButton("添加") //添加按钮
addButton.addActionListener(new ActionListener(){//添加事件
public void actionPerformed(ActionEvent e){
String []rowValues = {aTextField.getText(),bTextField.getText()}
tableModel.addRow(rowValues) //添加一行
int rowCount = table.getRowCount() +1 //行数加上1
aTextField.setText("A"+rowCount)
bTextField.setText("B"+rowCount)
}
})
panel.add(addButton)
final JButton updateButton = new JButton("修改") //修改按钮
updateButton.addActionListener(new ActionListener(){//添加事件
public void actionPerformed(ActionEvent e){
int selectedRow = table.getSelectedRow()//获得选中行的索引
if(selectedRow!= -1) //是否存在选中行
{
//修改指定的值:
tableModel.setValueAt(aTextField.getText(), selectedRow, 0)
tableModel.setValueAt(bTextField.getText(), selectedRow, 1)
//table.setValueAt(arg0, arg1, arg2)
}
}
})
panel.add(updateButton)
final JButton delButton = new JButton("删除")
delButton.addActionListener(new ActionListener(){//添加事件
public void actionPerformed(ActionEvent e){
int selectedRow = table.getSelectedRow()//获得选中行的索引
if(selectedRow!=-1) //存在选中行
{
tableModel.removeRow(selectedRow) //删除行
}
}
})
panel.add(delButton)
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JTableDefaultTableModelTest jTableDefaultTableModelTest = new JTableDefaultTableModelTest()
jTableDefaultTableModelTest.setVisible(true)
}
}