1 package runoob;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; public class FileDemo { public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String separator=File.separator;
String dir="temp01"+separator+"temp02";
String fileName="hello.txt";
File file=new File(dir, fileName);
if(file.exists()){
System.out.println(file.getAbsolutePath());
System.out.println(file.getName());
System.out.println(file.length());
}else{
file.getParentFile().mkdirs();
try {
file.createNewFile();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
} /*String dirname="c:/mysql";
File file=new File(dirname);
if(file.isDirectory()){
System.out.println("Directory of "+dirname);
String[] strings=file.list();
for(int i=0;i<strings.length;i++){
File f=new File(dirname+"/"+strings[i]);
if(f.isDirectory()){
System.out.println(strings[i]+" is a directory");
}else{
System.out.println(strings[i]+" is a file");
}
}
}else{
System.out.println(dirname+" is not a directory!");
}*/ /*System.out.println("file是一个文件:"+file.isFile());
System.out.println("file是一个目录:"+file.isDirectory());
System.out.println("file的文件名:"+file.getName());
File parentFile=file.getParentFile();
System.out.println("parentFile是一个目录:"+parentFile.isDirectory());
System.out.println("parentFile是一个文件:"+parentFile.isFile()); */
/*if(file.isDirectory()){
System.out.println("File是一个目录!");
if(file.exists()){
System.out.println("文件夹已存在!");
}else{
System.out.println("文件夹不存在");
file.mkdirs();
if(file.exists())
System.out.println("文件夹已创建!");
}
} if(file.isFile()){
System.out.println("File是一个文件!");
if(file.exists()){
System.out.println("文件已存在!");
}else {
System.out.println("文件不存在");
File file2=new File(file.getParent());
if(file2.exists()){
System.out.println("该文件的目录已存在!");
file.createNewFile();
System.out.println("文件已创建!");
}else {
file2.mkdirs();
System.out.println("文件目录已建立!");
file.createNewFile();
System.out.println("文件已建立!");
}
}
}*/ /*if(file.exists()){
System.out.println("文件夹存在!");
if(file.isDirectory()){
System.out.println("文件存在!");
}else{
file.createNewFile();
System.out.println("文件不存在,已创建文件!");
}
}else{
System.out.println("文件夹不存在!");
File file2=new File(file.getParent());//获取指定文件的上层目录,用来创建文件夹~
System.out.println("file2是一个目录:"+file2.isDirectory()+" \nfile2是一个文件:"+file2.isFile());
file2.mkdirs();
file.createNewFile();//文件夹不存在,对应文件肯定也不存在咯,所以要新建!
}*/ //这里插入一句,mkdirs()和mkdir()的区别在于,前者可以建立多级文件夹,后者只会建立一级文件夹。比如:
//new File("c:/temp/user/hehe").mkdirs()会建立三级目录,直到hehe。
//new File("c:/temp/user/hehe").mkdir()只会建立一级目录,hehe,如果前面两级目录不存在,则返回false!
// FileOutputStream fOutputStream=new FileOutputStream(file);
OutputStreamWriter writer=new OutputStreamWriter(fOutputStream, "utf-8");
writer.append("中文输入+English");
writer.append("\r\n");
writer.append("English");
writer.close();
fOutputStream.close(); FileInputStream fInputStream=new FileInputStream(file);
InputStreamReader reader=new InputStreamReader(fInputStream,"UTF-8");
StringBuilder sBuilder=new StringBuilder();
while(reader.ready()){
sBuilder.append((char)reader.read());
}
System.out.println(sBuilder.toString());
reader.close();
fInputStream.close(); } }

经过学习,我发现:

File file=new File(fileName);

如果fileName是一个文件名,比如c:/temp/hello.txt,那么这个File对象既不是一个file也不是directory,不晓得怎么回事。File对象貌似只是一个目录,可以包含文件和文件夹。

而使用new File(dir, fileName)构造方法建立的File对象则是一个file,文件。不是一个目录。

如果您觉得感兴趣的话,可以添加我的微信公众号:一步一步学Python
![](http://images2017.cnblogs.com/blog/993869/201711/993869-20171118215516327-881787609.jpg)

Java 在指定目录建立指定文件名的文件 并输入内容的更多相关文章

  1. Java 读取指定目录下的文件名和目录名

    需求:读取指定目录下的文件名和目录名 实现如下: package com.test.common.util; import java.io.File; public class ReadFile { ...

  2. Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例

    1. 复制指定目录下指定后缀名的文件并修改名称的案例     需求:复制指定目录下的指定文件,并修改后缀名.  • 指定的文件是:.java文件.     • 指定的后缀名是:.jad     • 指 ...

  3. python获取指定目录下所有文件名os.walk和os.listdir

    python获取指定目录下所有文件名os.walk和os.listdir 觉得有用的话,欢迎一起讨论相互学习~Follow Me os.walk 返回指定路径下所有文件和子文件夹中所有文件列表 其中文 ...

  4. Python--通过索引excel表将文件进行文件夹分类的脚本+读取指定目录下所有文件名的脚本

    1.通过索引excel表将文件进行文件夹分类的脚本,此脚本由于将ip和id对应并生成对应id的文件夹将文件进行分类,也可以任意规定表格内容,通过vul_sc_ip.txt和xlsx文件进行索引. # ...

  5. 我的Android进阶之旅------>Android使用正则表达式匹配扫描指定目录下的所有媒体文件(音乐、图像、视频文件)

    今天使用正则表达式匹配指定目录下的所有媒体文件,下面将这份代码简化了,可以收藏下来,当作工具类. package match; import java.io.File; import java.uti ...

  6. 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

    摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...

  7. delphi遍历指定目录下指定类型文件的函数

    遍历指定目录下指定类型文件的函数// ================================================================// 遍历某个文件夹下某种文件,/ ...

  8. python中获取指定目录下所有文件名列表的程序

    http://blog.csdn.net/rumswell/article/details/9818001 # -*- coding: utf-8 -*-#~ #------------------- ...

  9. Linux find查找指定文件 按照名称 然后cp拷贝到指定目录且指定文件名

    最近有一个需求,需要将指定目录下的文件(已知文件名)复制到另一个指定的目录且重命名文件. 要求: 在var目录下会定义系统的启动日志相关信息,请查找对应的boot.log文件,并把它备份一份到var/ ...

随机推荐

  1. Install Atom editor in ubuntu 14.04

    Step 1: Add repository sudo add-apt-repository ppa:webupd8team/atom Step 2: Update the repository su ...

  2. node.js 学习

    http://www.cnblogs.com/haogj/category/612022.html

  3. Paths_Quartz2D

    Paths中的几个重要元素 Points void CGContextMoveToPoint (    CGContextRef c,    CGFloat x,    CGFloat y ); 指定 ...

  4. swift 自定义图片轮播视图

    Swift封装图片轮播视图: import UIKit class XHAdLoopView: UIView { private var pageControl : UIPageControl? pr ...

  5. Jupyter notebook 配置目录

    默认打开Jupyter notebook,工作目录是C:\Users\Username,这里面有很多其它与Jupyter notebook无关的文件,也很有用,不能看着烦就删掉,所以需要修改Jupyt ...

  6. AAS代码运行-第11章-2

    hdfs dfs -ls /user/littlesuccess/AdvancedAnalysisWithSparkhdfs dfs -mkdir /user/littlesuccess/Advanc ...

  7. win10 Unistack 服务组 占用资源如何解决

    开始菜单>设置>隐私,隐私界面的左侧栏目,找最后一个“后台应用”,把后台运行的应用全部关掉即可

  8. 课程笔记:——javascript中的预解释2

    in:检测某一个属性是否属于这个对象(既可以检测私有的属性,也可以检测公有的属性) --> attr in obj 1.不管条件是否成立,在预解释的时候,判断体中的带var和function的都 ...

  9. http 301和302的区别

    1.什么是301转向?什么是301重定向? 301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种, ...

  10. AmazeUI定制

    定制流程 下载 Amaze UI 源码:从 GitHub 选择版本,点击 Source code (zip) 下载并解压(定制只适用于 Amaze UI 2.x): 下载安装 Node.js: 全局安 ...