码迷,mamicode.com
首页 > 编程语言 > 详细

Java 在指定目录建立指定文件名的文件 并输入内容

时间:2016-08-18 01:09:20      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:

  1 package runoob;
  2 import java.io.File;
  3 import java.io.FileInputStream;
  4 import java.io.FileOutputStream;
  5 import java.io.IOException;
  6 import java.io.InputStreamReader;
  7 import java.io.OutputStreamWriter;
  8 
  9 public class FileDemo {
 10 
 11     public static void main(String[] args) throws IOException {
 12         // TODO Auto-generated method stub
 13         String separator=File.separator;
 14         String dir="temp01"+separator+"temp02";
 15         String fileName="hello.txt";
 16         File file=new File(dir, fileName);
 17         if(file.exists()){
 18             System.out.println(file.getAbsolutePath());
 19             System.out.println(file.getName());
 20             System.out.println(file.length());
 21         }else{
 22             file.getParentFile().mkdirs();
 23             try {
 24                 file.createNewFile();
 25             } catch (IOException e) {
 26                 // TODO: handle exception
 27                 e.printStackTrace();
 28             }
 29         }
 30         
 31         /*String dirname="c:/mysql";
 32         File file=new File(dirname);
 33         if(file.isDirectory()){
 34             System.out.println("Directory of "+dirname);
 35             String[] strings=file.list();
 36             for(int i=0;i<strings.length;i++){
 37                 File f=new File(dirname+"/"+strings[i]);
 38                 if(f.isDirectory()){
 39                     System.out.println(strings[i]+" is a directory");
 40                 }else{
 41                     System.out.println(strings[i]+" is a file");
 42                 }
 43             }
 44         }else{
 45             System.out.println(dirname+" is not a directory!");
 46         }*/
 47         
 48         /*System.out.println("file是一个文件:"+file.isFile());
 49         System.out.println("file是一个目录:"+file.isDirectory());
 50         System.out.println("file的文件名:"+file.getName());
 51         File parentFile=file.getParentFile();
 52         System.out.println("parentFile是一个目录:"+parentFile.isDirectory());
 53         System.out.println("parentFile是一个文件:"+parentFile.isFile());
 54     
 55         */
 56         /*if(file.isDirectory()){
 57             System.out.println("File是一个目录!");
 58             if(file.exists()){
 59                 System.out.println("文件夹已存在!");
 60             }else{
 61                 System.out.println("文件夹不存在");
 62                 file.mkdirs();
 63                 if(file.exists())
 64                     System.out.println("文件夹已创建!");
 65             }
 66         }
 67         
 68         if(file.isFile()){
 69             System.out.println("File是一个文件!");
 70             if(file.exists()){
 71                 System.out.println("文件已存在!");
 72             }else {
 73                 System.out.println("文件不存在");
 74                 File file2=new File(file.getParent());
 75                 if(file2.exists()){
 76                     System.out.println("该文件的目录已存在!");
 77                     file.createNewFile();
 78                     System.out.println("文件已创建!");
 79                 }else {
 80                     file2.mkdirs();
 81                     System.out.println("文件目录已建立!");
 82                     file.createNewFile();
 83                     System.out.println("文件已建立!");
 84                 }
 85             }
 86         }*/
 87         
 88         /*if(file.exists()){
 89             System.out.println("文件夹存在!");
 90             if(file.isDirectory()){
 91                 System.out.println("文件存在!");
 92             }else{
 93                 file.createNewFile();
 94                 System.out.println("文件不存在,已创建文件!");
 95             }
 96         }else{
 97             System.out.println("文件夹不存在!");
 98             File file2=new File(file.getParent());//获取指定文件的上层目录,用来创建文件夹~
 99             System.out.println("file2是一个目录:"+file2.isDirectory()+" \nfile2是一个文件:"+file2.isFile());
100             file2.mkdirs();
101             file.createNewFile();//文件夹不存在,对应文件肯定也不存在咯,所以要新建!
102         }*/
103         
104         //这里插入一句,mkdirs()和mkdir()的区别在于,前者可以建立多级文件夹,后者只会建立一级文件夹。比如:
105         //new File("c:/temp/user/hehe").mkdirs()会建立三级目录,直到hehe。
106         //new File("c:/temp/user/hehe").mkdir()只会建立一级目录,hehe,如果前面两级目录不存在,则返回false!
107         //
108         
109         FileOutputStream fOutputStream=new FileOutputStream(file);
110         OutputStreamWriter writer=new OutputStreamWriter(fOutputStream, "utf-8");
111         writer.append("中文输入+English");
112         writer.append("\r\n");
113         writer.append("English");
114         writer.close();
115         fOutputStream.close();
116         
117         FileInputStream fInputStream=new FileInputStream(file);
118         InputStreamReader reader=new InputStreamReader(fInputStream,"UTF-8");
119         StringBuilder sBuilder=new StringBuilder();
120         while(reader.ready()){
121             sBuilder.append((char)reader.read());
122         }
123         System.out.println(sBuilder.toString());
124         reader.close();
125         fInputStream.close();
126 
127     }
128 
129 }

经过学习,我发现:

File file=new File(fileName);

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

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

Java 在指定目录建立指定文件名的文件 并输入内容

标签:

原文地址:http://www.cnblogs.com/xingzhui/p/5782198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!