java程序实现先删除后创建一个文件

public class Yang{
public static void delTxt(){
File file = new File("C:\\data.txt");
file.deleteOnExit();
}
/**
* 该方法用于从传进来的list里导出到出数据 到c盘的data.txt文件
* @author d
*
*/
public static void toTxt(String str){
try{

FileOutputStream out1 = new FileOutputStream("C:\\data.txt", true);

BufferedOutputStream out2 = new BufferedOutputStream(out1, 2); // 装饰一个带缓冲输出流

DataOutputStream out = new DataOutputStream(out2); // 装饰一个文件输出流

out.writeUTF("手机号码: "+str +"\r\n");
out1.close();
}
catch(IOException ex){}
}
public static void main(String [] s){
Yang.delTxt();
Yang.toTxt("aaa");

}

} 2个方法就是删除data.txt文件创建一个data.txt文件 分别执行都是正常运行。可是我想实现的是 再创建data.txt之前 删除原有的data文件就出问题了 删除方法根本不其作用.请高手赐教 . 谢谢
怎么样覆盖啊?我没找到这样的方法啊?

实现代码如下:

import java.io.*;

import java.util.*;

import javax.swing.*;

import java.awt.event.*;

/**

* 功能: 创建临时文件(在指定的路径下)

*/

public class TempFile implements ActionListener

{

private File tempPath;

public static void main(String args[]){

TempFile ttf = new TempFile();

ttf.init();

ttf.createUI();

}

//创建UI

public void createUI()

{

JFrame frame = new JFrame();

JButton jb = new JButton("创建临时文件");

jb.addActionListener(this);

frame.add(jb,"North");

frame.setSize(200,100);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

//初始化

public void init(){

tempPath = new File("./temp");

if(!tempPath.exists() || !tempPath.isDirectory())

{

tempPath.mkdir(); //如果不存在,则创建该文件夹

}

}

//处理事件

public void actionPerformed(ActionEvent e)

{

try

{

//在tempPath路径下创建临时文件"mytempfileXXXX.tmp"

//XXXX 是系统自动产生的随机数, tempPath对应的路径应事先存在

File tempFile = File.createTempFile("mytempfile", ".txt", tempPath);

System.out.println(tempFile.getAbsolutePath());

FileWriter fout = new FileWriter(tempFile);

PrintWriter out = new PrintWriter(fout);

out.println("some info!" );

out.close(); //注意:如无此关闭语句,文件将不能删除

//tempFile.delete();

tempFile.deleteOnExit();

}

catch(IOException e1)

{

System.out.println(e1);

}

}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
没有必要在创建之前删除同名文件,因为需要两次读写硬盘,耗时间也耗资源,直接用FileOutputStream覆盖就可以了。本回答被提问者采纳
第2个回答  2007-06-21
file.delete();方法不行么?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网