社区
Java SE
帖子详情
我想直接创建一个文件,我文件存在则覆盖,不存在则创建,有没有效率高的语句,先谢了
hanutao
2005-02-26 09:45:06
我想直接创建一个文件,我文件存在则覆盖,不存在则创建,有没有效率高的语句
...全文
978
6
打赏
收藏
我想直接创建一个文件,我文件存在则覆盖,不存在则创建,有没有效率高的语句,先谢了
我想直接创建一个文件,我文件存在则覆盖,不存在则创建,有没有效率高的语句
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xitianjile
2005-02-26
打赏
举报
回复
public void CreateFile(String path,String filename){//文件路径,filename文件名
File f=new File(path);
if(!f.exists());
f.mkdir();
FileOutputStream fos=new FileOutputStream(path+"/"+filename);
fos.close();
}
hanutao
2005-02-26
打赏
举报
回复
按照 xitianjile(空想社會主義) 的说法,
用FileOutputStream,若该文件事先存在则直接覆盖该文件,不过api手册好像不是这样,
请把具体的代码写出来,先谢了
congbailing_914
2005-02-26
打赏
举报
回复
一些关于文件操作的!可以参考:
import java.io.*;
public class FileOperate {
public FileOperate() {
}
/**
* 新建目录
*
* @param folderPath String 如 c:/moumoulr
*
* @return boolean
*/
public void newFolder( String folderPath ) {
try {
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File( filePath );
if ( ! myFilePath.exists() ) {
myFilePath.mkdir();
}
} catch ( Exception e ) {
System.out.println( "新建目录操作出错" );
e.printStackTrace();
}
}
/**
* 新建文件
*
* @param filePathAndName String 文件路径及名称 如c:/moumoulrc.txt
* @param fileContent String 文件内容
* @return boolean
*/
public void newFile( String filePathAndName, String fileContent ) {
try {
String filePath = filePathAndName;
filePath = filePath.toString();
File myFilePath = new File( filePath );
if ( ! myFilePath.exists() ) {
myFilePath.createNewFile();
}
FileWriter resultFile = new FileWriter( myFilePath );
PrintWriter myFile = new PrintWriter( resultFile );
String strContent = fileContent;
myFile.println( strContent );
resultFile.close();
} catch ( Exception e ) {
System.out.println( "新建目录操作出错" );
e.printStackTrace();
}
}
/**
* 删除文件
*
* @param filePathAndName String 文件路径及名称 如c:/moumoulrc.txt
* @param fileContent String
* @return boolean
*/
public void delFile( String filePathAndName ) {
try {
String filePath = filePathAndName;
filePath = filePath.toString();
java.io.File myDelFile = new java.io.File( filePath );
myDelFile.delete();
} catch ( Exception e ) {
System.out.println( "删除文件操作出错" );
e.printStackTrace();
}
}
/**
* 删除文件夹
*
* @param filePathAndName String 文件夹路径及名称 如c:/moumoulrc
* @param fileContent String
* @return boolean
*/
public 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 ) {
System.out.println( "删除文件夹操作出错" );
e.printStackTrace();
}
}
/**
* 删除文件夹里面的所有文件
*
* @param path String 文件夹路径 如 c:/moumoulrc
*/
public void delAllFile( String path ) {
File file = new File( path );
if ( ! file.exists() ) {
return;
}
if ( ! file.isDirectory() ) {
return;
}
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] );//再删除空文件夹
}
}
}
/**
* 复制单个文件
*
* @param oldPath String 原文件路径 如:c:/moumoulrc.txt
* @param newPath String 复制后路径 如:f:/moumo
* @return boolean
*/
public void copyFile( String oldPath, String newPath ) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File( oldPath );
if ( oldfile.exists() ) { //文件存在时
InputStream inStream = new FileInputStream( oldPath ); //读入原文件
FileOutputStream fs = new FileOutputStream( newPath );
byte[] buffer = new byte[1444];
int length;
while ( ( byteread = inStream.read( buffer ) ) != - 1 ) {
bytesum += byteread; //字节数 文件大小
System.out.println( bytesum );
fs.write( buffer, 0, byteread );
}
inStream.close();
}
} catch ( Exception e ) {
System.out.println( "复制单个文件操作出错" );
e.printStackTrace();
}
}
/**
* 复制整个文件夹内容
*
* @param oldPath String 原文件路径 如:c:/fqf
* @param newPath String 复制后路径 如:f:/fqf/ff
* @return boolean
*/
public void copyFolder( String oldPath, String newPath ) {
try {
( new File( newPath ) ).mkdirs(); //如果文件夹不存在 则建立新文件夹
File a = new File( oldPath );
String[] file = a.list();
File temp = null;
for ( int i = 0; i < file.length; i++ ) {
if ( oldPath.endsWith( File.separator ) ) {
temp = new File( oldPath + file[i] );
} else {
temp = new File( oldPath + File.separator + file[i] );
}
if ( temp.isFile() ) {
FileInputStream input = new FileInputStream( temp );
FileOutputStream output = new FileOutputStream( newPath
+ "/" + ( temp.getName() ).toString() );
byte[] b = new byte[1024 * 5];
int len;
while ( ( len = input.read( b ) ) != - 1 ) {
output.write( b, 0, len );
}
output.flush();
output.close();
input.close();
}
if ( temp.isDirectory() ) {//如果是子文件夹
copyFolder( oldPath + "/" + file[i], newPath + "/"
+ file[i] );
}
}
} catch ( Exception e ) {
System.out.println( "复制整个文件夹内容操作出错" );
e.printStackTrace();
}
}
/**
* 移动文件到指定目录
*
* @param oldPath String 如:c:/fqf.txt
* @param newPath String 如:d:/fqf.txt
*/
public void moveFile( String oldPath, String newPath ) {
copyFile( oldPath, newPath );
delFile( oldPath );
}
/**
* 移动文件夹到指定目录
*
* @param oldPath String 如:c:/fqf
* @param newPath String 如:d:/fqf
*/
public void moveFolder( String oldPath, String newPath ) {
copyFolder( oldPath, newPath );
delFolder( oldPath );
}
public static void main( String args[] ) {
FileOperate a = new FileOperate();
//测试用代码......
}
}
jFresH_MaN
2005-02-26
打赏
举报
回复
File f=new File("C:\xxx.txt");
if(f.exists())
f.delete();
f.createNewFile();
xitianjile
2005-02-26
打赏
举报
回复
用FileOutputStream就行了。
不过你要保证创建的文件之前文件夹是存在的。
可以先用File方法检查一下文件夹是否存在,不存在则用mkdir();创建文件夹
网络咖啡
2005-02-26
打赏
举报
回复
直接创建文件就是了
java期末考试题-判断题
1. ( X ) 程序中抛出异常时(throw …),只能抛出自己定义的异常对象。 2. ( V ) System类中的in是一个输入对象。 3. ( V ) 实现一个接口,则在类中一定要...5. ( V ) 一个异常处理中 finally
语句
块只能有一个...
springboot配置日志
文件
控制台不打印sql
语句
搜了很多没有还是没有实现我
想
要的效果,认真看了配置灵机一动就按照自己
想
的配置好了
想
要的效果是
想
把日志
文件
输出在本地好追溯项目问的根源,控制台打印sql,看效果 图一:这是输出到本地的日志
文件
图二:...
BAT命令学习
当执行完一次do后的
语句
之后,再提取command1中的一个元素,再执行一次command2,如此循环,直到command1中的所有元素都已经被提取完毕,该for
语句
才宣告执行结束。2、in和do之间的command1表示的字符串或变量可以是一个,...
【linux命令讲解大全】019.ln命令:
文件
链接的
创建
和使用方法
本文介绍了Linux中的ln命令,用于在
文件
系统中
创建
文件
链接。讲解了ln命令的语法和常用选项,包括对目标
文件
进行备份、
创建
符号链接或硬链接、指定链接的目录等功能。通过实例演示了如何使用ln命令
创建
软链接和硬...
Oracle数据库 SQL
语句
总结大赏
每个表空间都可以对应一个用户初步使用数据库的时候,先
创建
一个
用户,再给此用户指定一个表空间如果不给用户提供
创建
表空间,就默认使用Oracle的默认表空间;为了安全期间,应该为每个用户都
创建
一个
表空间.DBF。
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章