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. js小时分钟控件--

    直接上代码: var str = ""; document.writeln("<div id=\"_contents\" tabindex=99 ...

  2. 新手要想学好Linux系统就必须做好这四件事情

    一般情况下,大部分人接触Linux的机会并不多,对Linux平台下的开发更是一无所知.而现在的发展趋势却越来越表明:无论是作为一个优秀的软件开发人员,或是互联网.IT行业的从业人员,掌握Linux是一 ...

  3. 【 2013 Multi-University Training Contest 5 】

    HDU 4647 Another Graph Game 如果没有边的作用,显然轮流拿当前的最大值即可. 加上边的作用,将边权平均分给两个点,如果一个人选走一条边的两个点,就获得了边的权值:如果分别被两 ...

  4. python 中BeautifulSoup入门

    什么是BeautifulSoup? Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简单又常用的 ...

  5. Win8 传统桌面下无法上网的解决方法

    Win8 很酷,就连出现的问题也都酷得不行~ 之前遇到的一些问题与解决方法,避免重新安装 1. Word 2013下, 输入法突然秀逗, 经常按了一个键后, 死循环输入该字符直到死机 解决方法: 进入 ...

  6. 【C#】 格式化说明符 string.Format WriteLine

    定义 格式说明符的语法由3个字段组成:索引号.对齐说明符和格式字段.String.Format和WriteLine都遵守同样的格式化规则. 对齐说明符 对齐说明符表示了字段中字符的最小宽度.对齐说明符 ...

  7. NPOI

    使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/ ...

  8. 用powershell+excel行列转置三步走

    本文重点讲解第一步,手动在excel表中输入公式,或者用powershell自动输入公式. 第二步,用powershell向excel中写入数据,略. 第三步,用powershell从excel中读取 ...

  9. Makefile 一点一滴(三)—— 尝试简单的变量替换

    上一版的 makefile: TestCpp : ./debug/TestCpp.o g++ -o TestCpp ./debug/TestCpp.o ./debug/TestCpp.o : ./sr ...

  10. 汇编、c语言、c++的一些想法。

    学习C++的过程中一直有懂一点和迷糊的情绪伴随. 这几天在学习C++的变量定义.变量声明.数据类型等等.很多时候,跟我想的内容不一样.经常是,只知道这个东西是这样子的.却不知道,这个东西能在程序中有什 ...