java 文件中删除一行(或某个字符)

Python011

java 文件中删除一行(或某个字符),第1张

用“”替换文件中的内容达到删除目的

import java.io.InputStream

import 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)

}

}