java 删除文件中的数据
4个回答
展开全部
1、如果只是想要文件中的内容,可以使用如下代码:
FileOutputStream fs = new FileOutputStream(new File("C:\\buyterms.txt"));
2、如果是想要文件夹中的内容,可以使用如下代码:
package com.xx;
import java.io.File;
public class Test {
public static void main(String[] args) {
String fileRoot = "C:/Users/xx/Desktop/xx/xxx";
delFolder(fileRoot);
System.out.println("deleted");
}
// // 删除完文件后删除文件夹
// // param folderPath 文件夹完整绝对路径
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); // 删除完里面所有内容
//不想删除文佳夹隐藏下面
// String filePath = folderPath;
// filePath = filePath.toString();
// java.io.File myFilePath = new java.io.File(filePath);
// myFilePath.delete(); // 删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}
// 删除指定文件夹下所有文件
// param path 文件夹完整绝对路径
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
// delFolder(path + "/" + tempList[i]);// 再删除空文件夹
flag = true;
}
}
return flag;
}
}
展开全部
java中的读文件和写文件需要使用读入流和输出流,你可以先读取文件的内容,在读取过程中过滤掉要删除的学生记录,然后在把内存中的文件内容在写回文件
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java删除文件内容只有一种实现方法,就是把整个文件重写,只是把哪一条记录去除掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这里有一个类似的例子,不过太多了,我发一部分出来,这上面有几个方法,其中有删除了,不是学生,是定单的, (先将数据读出来,然后删掉相应的信息,再写入新建的同名文件)
我有个学的生,只做的浏览功能
如果要的话给我发个信息
package computeOrder;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import javax.swing.JOptionPane;
public class OrderList implements Path{
private static File file=new File(FILEDIR,FILENAME);
//浏览:
public static void listAllOrder(){
List<Order> list=new Vector<Order>();
list=WriteAndRead.read();
for(Order order:list){
System.out.println(order.toString());
}
}
//添加:
public static void addOrder(Order order) {
WriteAndRead.Write(order);
}
//按用户信息进行查询:
public static void research(String customName){
List<Order> list=new Vector<Order>();
list=WriteAndRead.read();
boolean flag=true;
for(Order order:list){
if(order.getCustom().getCustomName().equals(customName)){
System.out.println(order.toString());
flag=false;
break;
}
}
if(flag){
System.out.println("没有与之相匹配的订单: ");
}
}
// 按用户信息进行修改:
public static void modify(String customName) {
List<Order> list = new Vector<Order>();
list = WriteAndRead.read();
boolean flag = true;
// JOptionPane.showMessageDialog(null, "目前只能修改用户名与用户等级: ");
for (int i=0;i<list.size();i++) {
if (list.get(i).getCustom().getCustomName().equals(customName)) {
Order or = null;
flag = false;
// System.out.println(list.indexOf(order));
try {
or = list.get(i);
or=ModifyInfo.modfityInfo(or);
// while(true){
// String str=Tools.getMessageFromKeyBoard("请输入要修改的信息: ");
// if(str.equals("用户姓名")){
// or.getCustom().setCustomName(Tools.getMessageFromKeyBoard("请输入姓名: "));
// System.out.println("继续修改请输入Y");
// if(Tools.getMessageFromKeyBoard(" ").trim().charAt(0)=='Y'){
// }else{
// break;
// }
// }
//
// if(str.equals("用户等级")){
// or.getCustom().setCustomType(Tools.getMessageFromKeyBoard("请输入等级: "));
// System.out.println("继续修改请输入Y");
// if(Tools.getMessageFromKeyBoard(" ").trim().charAt(0)=='Y'){
// }else{
// break;
// }
// }
// }
list.remove(i);
list.add(i, or);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
if (flag) {
System.out.println("没有与之相匹配的订单: ");
}
// System.out.println("OK?");
file.delete();
if (file.exists()) {
System.out.println("删除失败: ");
}
// System.out.println("OK");
for (Order order : list) {
WriteAndRead.Write(order);
}
}
//按用户信息进行删除:
public static void delete(String customName) {
List<Order> list = new Vector<Order>();
list = WriteAndRead.read();
boolean flag = true;
for(int i=0;i<list.size();i++){
if (list.get(i).getCustom().getCustomName().equals(customName)) {
System.out.println(list.indexOf(list.get(i)));
list.remove(list.get(i));
flag=false;
//***发现严重问题,用List在这里如果用for——each循环,会倒致移除失败:*****
}
}
if (flag) {
System.out.println("没有与之相匹配的订单: ");
}
file.delete();
if(file.exists()){
System.out.println("删除失败: ");
}
for(Order order: list){
WriteAndRead.Write(order);}
}
}
我有个学的生,只做的浏览功能
如果要的话给我发个信息
package computeOrder;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import javax.swing.JOptionPane;
public class OrderList implements Path{
private static File file=new File(FILEDIR,FILENAME);
//浏览:
public static void listAllOrder(){
List<Order> list=new Vector<Order>();
list=WriteAndRead.read();
for(Order order:list){
System.out.println(order.toString());
}
}
//添加:
public static void addOrder(Order order) {
WriteAndRead.Write(order);
}
//按用户信息进行查询:
public static void research(String customName){
List<Order> list=new Vector<Order>();
list=WriteAndRead.read();
boolean flag=true;
for(Order order:list){
if(order.getCustom().getCustomName().equals(customName)){
System.out.println(order.toString());
flag=false;
break;
}
}
if(flag){
System.out.println("没有与之相匹配的订单: ");
}
}
// 按用户信息进行修改:
public static void modify(String customName) {
List<Order> list = new Vector<Order>();
list = WriteAndRead.read();
boolean flag = true;
// JOptionPane.showMessageDialog(null, "目前只能修改用户名与用户等级: ");
for (int i=0;i<list.size();i++) {
if (list.get(i).getCustom().getCustomName().equals(customName)) {
Order or = null;
flag = false;
// System.out.println(list.indexOf(order));
try {
or = list.get(i);
or=ModifyInfo.modfityInfo(or);
// while(true){
// String str=Tools.getMessageFromKeyBoard("请输入要修改的信息: ");
// if(str.equals("用户姓名")){
// or.getCustom().setCustomName(Tools.getMessageFromKeyBoard("请输入姓名: "));
// System.out.println("继续修改请输入Y");
// if(Tools.getMessageFromKeyBoard(" ").trim().charAt(0)=='Y'){
// }else{
// break;
// }
// }
//
// if(str.equals("用户等级")){
// or.getCustom().setCustomType(Tools.getMessageFromKeyBoard("请输入等级: "));
// System.out.println("继续修改请输入Y");
// if(Tools.getMessageFromKeyBoard(" ").trim().charAt(0)=='Y'){
// }else{
// break;
// }
// }
// }
list.remove(i);
list.add(i, or);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
if (flag) {
System.out.println("没有与之相匹配的订单: ");
}
// System.out.println("OK?");
file.delete();
if (file.exists()) {
System.out.println("删除失败: ");
}
// System.out.println("OK");
for (Order order : list) {
WriteAndRead.Write(order);
}
}
//按用户信息进行删除:
public static void delete(String customName) {
List<Order> list = new Vector<Order>();
list = WriteAndRead.read();
boolean flag = true;
for(int i=0;i<list.size();i++){
if (list.get(i).getCustom().getCustomName().equals(customName)) {
System.out.println(list.indexOf(list.get(i)));
list.remove(list.get(i));
flag=false;
//***发现严重问题,用List在这里如果用for——each循环,会倒致移除失败:*****
}
}
if (flag) {
System.out.println("没有与之相匹配的订单: ");
}
file.delete();
if(file.exists()){
System.out.println("删除失败: ");
}
for(Order order: list){
WriteAndRead.Write(order);}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |