文档章节

Java中File类创建文件

乐在克里特
 乐在克里特
发布于 2017/02/23 14:46
字数 609
阅读 11
收藏 0

只需要调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等。

import java.io.*;
public class CreateNewFile{
 //该方法用于创建文件,参数分别是文件路径和文件名、文件内容,如:myfile.doc  HelloJava!
 public void createNewFile(String fileDirectoryAndName,String fileContent){
  try{
   String fileName = fileDirectoryAndName
   File myFile = new File(fileName);//创建File对象,参数为String类型,表示目录名
   //判断文件是否存在,如不存在则调用createNewFile()创建新目录,否则跳至异常处理代码
   if(!myFile.exists())
       myFile.createNewFile();
     else  //如果不存在则扔出异常
    throw new Exception("The new file already exists!");
   //下面把数据写入创建的文件,首先新建文件名为参数创建FileWriter对象
   FileWriter resultFile = new FileWriter(myFile);
   //把该对象包装进PrinterWriter对象
   PrintWriter myNewFile = new PrintWriter(resultFile);
   //再通过PrinterWriter对象的println()方法把字符串数据写入新建文件
   myNewFile.println(fileContent);
     resultFile.close();   //关闭文件写入流
  }catch(Exception ex){
     System.out.println("无法创建新文件!");
     ex.printStackTrace();
  }
 }
 public static void main(String[] args){
  //创建类的对象并调用该对象的createNewFile()方法,创建新文件并写入数据
  CreateNewFile createFile = new CreateNewFile();
  createFile.createNewFile(args[0],args[1]);
 }
}

 

执行该程序,在执行代码后直接输入两个参数,第一个参数是文件名,此时需要注明文件类型,这里创建的word文档;第二个参数是文件的内容,该参数是一个字符串数据。

如:myfile.doc   HelloJava!

注意:在通过文件路径和文件创建File时的分隔符可以为“//”或者File.separator

 

public class FileDemo {
     public static void main(String[] args){
         //构造函数File(String pathname)
         File f1 =new File("c:\\abc\\1.txt");
         //File(String parent,String child)
         File f2 =new File("c:\\abc","2.txt");
         //File(File parent,String child)
         File f3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符
         File f4 =new File(f3,"3.txt");
         System.out.println(f1);//c:\abc\1.txt

     }

 }

 

以下代码包括了File的创建以及读写。

 

public class Test {
 public static void main(String[] args) {
  String lujing = "d:\\test\\ss\\ss.txt";
  File file = new File(lujing);
  if (!file.getParentFile().exists()) {
   file.getParentFile().mkdirs();
  }
  try {
   file.createNewFile();
  } catch (IOException e) {
   e.printStackTrace();
  }

  try {
   FileWriter fw = new FileWriter(file, true);
   BufferedWriter bw = new BufferedWriter(fw);
   bw.write("kingid");
   bw.flush();
   bw.close();
   fw.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
  try {
   FileReader fr = new FileReader(file);
   BufferedReader bReader = new BufferedReader(fr);
   String string = bReader.readLine();
   System.out.println(string);

  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

 }
}

 

引用:

http://blog.sina.com.cn/s/blog_7014ad5c01019ah8.html

http://lisong0624.blog.163.com/blog/static/18871986201041724239325/

对File的api简单介绍,并有部分例子(推荐查看):

http://www.jb51.net/article/36126.htm

© 著作权归作者所有

共有 人打赏支持
乐在克里特
粉丝 15
博文 268
码字总数 394729
作品 0
杭州
程序员
JAVA File的创建及相对路径绝对路径

File f = new File("D:/test/mytest.txt");//当执行这句话后在内存的栈空间存在一个f的应用,在堆空间里存在一个mytest.txt对象。注意 这个对象只含有文件的属性(如大小,是否可读,修改时间...

Mr_Young
2014/06/16
0
0
JavaIO/输出输入入门

IO称之为输入输出,Java的IO是通过java.io包下的类和接口来支持,包含两大类:输入,输出. 在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Write...

Zhao-Qian
2013/01/04
0
0
使用UML创建模块库——第一部分(三)

MyEclipse 在线购买低至75折!火爆开抢>> 【MyEclipse最新版下载】 UML1建模文件存储在建模库中,建模可用于生成Java代码,或者可以从代码中生成模型。本教程将向您展示如何执行与建模资源库...

Miss_Hello_World
08/02
0
0
JAVA基础知识之编译、运行、打包

一:java环境设置 在环境变量中设置以下三个变量: JAVAHOME=C:j2sdk1.4.1 //可以改为相应的目录 CLASSPATH=%JAVAHOME%libtools.jar;%JAVAHOME%libdt.jar PATH=%JAVAHOME%bin;%PATH% 然后在命...

luminji
2015/06/03
0
0
【J2EE系列】JNDI与tomcat连接池

JNDI与tomcat连接池 本章内容 ² JNDI与JNDI服务器 ² 编码实现JNDI目录服务与命名服务 ² 使用Tomcate JNDI服务器 一、JNDI概述 1、什么是JNDI? 英文全称是:Java Naming and Directory Inte...

磊神Ray
2012/02/15
0
1

没有更多内容

加载失败,请刷新页面

加载更多

00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
2
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
113
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
4
0
我为什么用GO语言来做区块链?

Go语言现在常常被用来做去中心化系统(decentralised system)。其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地。 我们在决定做Karachain的时候,考量(b...

HiBlock
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部