文件和文件夹的建立 JAVA

作者&投稿:辛俭 (若有异议请与网页底部的电邮联系)
java创建目录或文件夹的方法?~

1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败
2、File类的mkdir方法根据抽象路径创建目录
3、File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录
4、File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。
5、除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败

示例代码如下:
package book.io;import java.io.File;import java.io.IOException;public class CreateFileUtil { public static boolean createFile(String destFileName) { File file = new File(destFileName); if(file.exists()) { System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!"); return false; } if (destFileName.endsWith(File.separator)) { System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!"); return false; } //判断目标文件所在的目录是否存在 if(!file.getParentFile().exists()) { //如果目标文件所在的目录不存在,则创建父目录 System.out.println("目标文件所在目录不存在,准备创建它!"); if(!file.getParentFile().mkdirs()) { System.out.println("创建目标文件所在目录失败!"); return false; } } //创建目标文件 try { if (file.createNewFile()) { System.out.println("创建单个文件" + destFileName + "成功!"); return true; } else { System.out.println("创建单个文件" + destFileName + "失败!"); return false; } } catch (IOException e) { e.printStackTrace(); System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage()); return false; } } public static boolean createDir(String destDirName) { File dir = new File(destDirName); if (dir.exists()) { System.out.println("创建目录" + destDirName + "失败,目标目录已经存在"); return false; } if (!destDirName.endsWith(File.separator)) { destDirName = destDirName + File.separator; } //创建目录 if (dir.mkdirs()) { System.out.println("创建目录" + destDirName + "成功!"); return true; } else { System.out.println("创建目录" + destDirName + "失败!"); return false; } } public static String createTempFile(String prefix, String suffix, String dirName) { File tempFile = null; if (dirName == null) { try{ //在默认文件夹下创建临时文件 tempFile = File.createTempFile(prefix, suffix); //返回临时文件的路径 return tempFile.getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); System.out.println("创建临时文件失败!" + e.getMessage()); return null; } } else { File dir = new File(dirName); //如果临时文件所在目录不存在,首先创建 if (!dir.exists()) { if (!CreateFileUtil.createDir(dirName)) { System.out.println("创建临时文件失败,不能创建临时文件所在的目录!"); return null; } } try { //在指定目录下创建临时文件 tempFile = File.createTempFile(prefix, suffix, dir); return tempFile.getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); System.out.println("创建临时文件失败!" + e.getMessage()); return null; } } } public static void main(String[] args) { //创建目录 String dirName = "D:/work/temp/temp0/temp1"; CreateFileUtil.createDir(dirName); //创建文件 String fileName = dirName + "/temp2/tempFile.txt"; CreateFileUtil.createFile(fileName); //创建临时文件 String prefix = "temp"; String suffix = ".txt"; for (int i = 0; i < 10; i++) { System.out.println("创建了临时文件:" + CreateFileUtil.createTempFile(prefix, suffix, dirName)); } //在默认目录下创建临时文件 for (int i = 0; i < 10; i++) { System.out.println("在默认目录下创建了临时文件:" + CreateFileUtil.createTempFile(prefix, suffix, null)); } }}输出结果:创建目录D:/work/temp/temp0/temp1成功!目标文件所在目录不存在,准备创建它!创建单个文件D:/work/temp/temp0/temp1/temp2/tempFile.txt成功!创建了临时文件:D:work emp emp0 emp1 emp5171.txt创建了临时文件:D:work emp emp0 emp1 emp5172.txt创建了临时文件:D:work emp emp0 emp1 emp5173.txt创建了临时文件:D:work emp emp0 emp1 emp5174.txt创建了临时文件:D:work emp emp0 emp1 emp5175.txt创建了临时文件:D:work emp emp0 emp1 emp5176.txt创建了临时文件:D:work emp emp0 emp1 emp5177.txt创建了临时文件:D:work emp emp0 emp1 emp5178.txt创建了临时文件:D:work emp emp0 emp1 emp5179.txt创建了临时文件:D:work emp emp0 emp1 emp5180.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5181.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5182.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5183.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5184.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5185.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5186.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5187.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5188.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5189.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5190.txt

File类里面有两个方法可以实现:
一个是mkdir():创建此抽象路径名指定的目录。
另外一个是mkdirs(): 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

比如你想在A文件夹创建一个B文件夹,并在B文件夹下创建c和D文件夹,可以用下面的代码实现:

import java.io.File;

public class Test {
public static void main(String args[]) {
File file = new File("D:\\A\\B\\C");
file.mkdirs();

file = new File("D:\\A\\B\\D");
file.mkdir();
}
}

希望对你有帮助。。。。仍有问题可以HI我。。。

第一个问题:
File file =new File(String pathname);只是在内存中创建了一个File实例。pathname可以是路径也可以是文件。然后调用file.createNewFile();才会创建文件。所以不是楼主是所说的ile has never been read。
而执行PrintWriter out = new PrintWriter(file);后发现创建了文件,这是由于PrintWriter构造方法执行机制所决定的,如果文件为空,则会自动掉用file的createNewFile()方法创建一个文件(详见api PrintWriter)。所以楼主又看到了所创建的文件。异常用try catch捕获FileNotFoundException。
第二个问题:创建多级目录要用file.mkdirs();你那个只能创建一级目录。

我写个例子 经过检验的 你参考一下 多级目录的文件创建:
import java.io.*;
public class FileTest{
public File fileCreate(String fileFoder, String fileName){
File foder = new File(fileFoder);
File file = new File(fileFoder+fileName);
//如果文件夹不存在,则创建文件夹
if(foder.exists()==false){
foder.mkdirs();//多级目录
//foder.mkdir();//只创建一级目录
}

//如果文件不存在,则创建文件
if(file.exists()==false){
try{
file.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
}
return file;
}
public static void main(String [] args){
FileTest fileTest= new FileTest();
String fileFoder="D://test1//test2";
String fileName="//test_io.txt";

File file= fileTest.fileCreate(fileFoder,fileName);
System.out.println(file.getPath());
}
}

至于文件读写的内容很多 给你个参考的链接
http://www.jb51.net/article/16396.htm

哈哈,刚好我正在学习文件的操作,就给你写了一个,不知是不是你所需要的创建文件夹和文件
package arrays.file;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class CreateFiles {
public static void main(String[] args) {
createDirectory("d:/111");
createFile("d:/111/1.txt");
}

//创建空文件
public static void createFile(String path){
try {
BufferedWriter bWriter = new BufferedWriter(new FileWriter(path));
bWriter.flush();
bWriter.close();
} catch (IOException e) {
e.printStackTrace();
}

System.out.println(path+"创建成功!");
}

//创建文件夹
public static void createDirectory(String path){
File file = new File(path);
file.mkdir();

System.out.println(path+"创建成功!");
}
}

你那个错是说你的路径不存在所以无法创建文件,你文件的上一级是个文件夹,应该是不存在的

我写的这个方法是不管你有多少级文件夹都可以创建,只需传一个path过去就OK了
就算这个路径也可以的 D:/temp/temp/temp/temp/1.txt

public class Test6 {

public static void main(String[] args) {
String path = "D:/temp/1.txt";
new Test6().createFile(path);
}

public void createFile(String path) {
try {

int[] sum = new int[path.length()];
int j = 0;
//获得所有的/的下标
for (int i = 0; i < path.length(); i++) {
if (path.charAt(i) == '/' && path.indexOf("/") != 0) {
sum[j] = i;
j++;
}
}
//通过所得下标取得路径并创建文件夹
for (int i = 0; i < sum.length; i++) {
if (sum[i] != 0) {
String temp = path.substring(0, sum[i] + 1);
File f = new File(temp);
//判断路径是否存在,如不存在则创建
if(!f.exists()){
f.mkdir();
}
}
}
//判断文件是否存在,如不存在则创建
File f=new File(path);
if(!f.exists()){
f.createNewFile();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

真难


坡头区19193672722: java创建目录或文件夹的方法? -
后邦消渴: 1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败2、File类的mkdir方法根据抽象路径创建目录32313133353236313431303231363533e78988e69d83313333373935323、File类的mkdirs...

坡头区19193672722: 文件和文件夹的建立 JAVA -
后邦消渴: 第一个问题: File file =new File(String pathname);只是在内存中创建了一个File实例.pathname可以是路径也可以是文件.然后调用file.createNewFile();才会创建文件.所以不是楼主是所说的ile has never been read. 而执行PrintWriter ...

坡头区19193672722: Java中如何进行文件(及文件夹)的新建,移动,删除等?给出代码 -
后邦消渴: java本身是没有默认命令的,不过可以通过递归的方式,遍历子目录,实现copy文件的功能.另一种方式是 使用 系统命令 windows 可以使用xcopy, linux下 用 mv -r 都可以实现.

坡头区19193672722: java文件创建文件夹及文件怎么创建的老师,谢谢了 -
后邦消渴: 文件夹的创建 请看 java.io.File 的API 文档文件就看java.io.FileOutputStream或java.io.FileWriter等

坡头区19193672722: java 文件夹中如何创建文件夹? -
后邦消渴: File类里面有两个方法可以实现: 一个是mkdir():创建此抽象路径名指定的目录. 另外一个是mkdirs(): 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录.比如你想在A文件夹创建一个B文件夹,并在B文件夹下创建c和D...

坡头区19193672722: java:创建文件,通过命令行接收文件路径,在程序中创建这个文件和必要的文件夹, -
后邦消渴: 命令行的参数,在main 的参数中.......简单创建文件、创建文件夹,使用 java.io.File

坡头区19193672722: Java如何创建文件夹 -
后邦消渴: Java创建文件夹的方法/** * 用于创建文件夹的方法 * @param mkdirName */ public void mkdir(String mkdirName) { try { File dirFile = new File(mkdirName); boolean bFile = dirFile.exists(); if( bFile == true ) { System.out.println("The folder exists."); }...

坡头区19193672722: Java 创建一个不可见的文件夹或文件 -
后邦消渴: 实现思路就是先创建一个文件或者文件夹,之后给其赋值相应的显示隐藏属性设置.代码举例:File file=new File("D:/hello");//定义文件路径 try {if(!file.exists()) file.mkdir();//如果文件路径不存在就创建一个 String string=" attrib +H "+file....

坡头区19193672722: 怎样用java创建文件夹
后邦消渴: java.io.File 包中 File 类 file.mkdirs()方法

坡头区19193672722: Java创建文件夹,将上传Excel文件放到该文件夹中,满足某种条件后将该文件和文件夹删除,求详细解答~~ -
后邦消渴: 大体如下,使用FIle类// 创建目录 File dir = new File("D:\\test\\excel"); if (!dir.exists()) { dir.mkdirs(); }// 删除目录,及目录中的所有文件.JAVA只能删除空目录. File[] files = dir.listFiles(); for (int i = 0; ifiles[i].delete(); } dir.delete();

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