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

  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,文件。不是一个目录。

时间: 2024-12-14 18:10:49

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

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

需求:读取指定目录下的文件名和目录名 实现如下: package com.test.common.util; import java.io.File; public class ReadFile { /* * 读取指定路径下的文件名和目录名 */ public void getFileList() { File file = new File("D:\\"); File[] fileList = file.listFiles(); for (int i = 0; i < file

Java 遍历指定目录及子目录下的文件

/** * 遍历指定目录及子目录下的文件 * * @author testcs_dn * @date 2014年12月12日下午2:33:49 * @param file 要遍历的指定目录 * @param collector 符合条件的结果添加到此List<File>中 * @param pathInclude 路径中包含指定的字符串 * @param fileNameInclude 文件名(不包含扩展名)中包含指定的字符串 * @param extnEquals 文件扩展名为指定字符串 *

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

1.通过索引excel表将文件进行文件夹分类的脚本,此脚本由于将ip和id对应并生成对应id的文件夹将文件进行分类,也可以任意规定表格内容,通过vul_sc_ip.txt和xlsx文件进行索引. # -*- coding:utf8 -*- import sys import os import pandas as pd import shutil import stat def find(path,ip): # open the excel file df = pd.read_excel(pat

Python扫描指定目录下(包括子目录)的文件

扫描指定目录下的文件,或者匹配指定后缀和前缀的函数. 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar") 如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("

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

摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 @for&ever 2010-07-03 功能: 获取指定目录下面符合一定规则的文件名称和文件修改时间,并保存到指定的文件中 脚本如下: #!/usr/bin/env python# -*- coding: utf-8 -*- '''Created on 2010-7-2 @author: fore

获取指定目录及子目录中所有文件列表

#region 获取指定目录及子目录中所有文件列表 /// <summary> /// 获取指定目录及子目录中所有文件列表 /// </summary> /// <param name="directoryPath">指定目录的绝对路径</param> /// <param name="searchPattern">模式字符串,"*"代表0或N个字符,"?"代表1个字

shell脚本第二篇——将指定目录下大于200K的文件移动到/tmp下

shell脚本第二篇--将指定目录下大于200K的文件移动到/tmp下 # vim  /tmp/files.sh #!/bin/bash #将指定目录下大于200K的文件移动到/tmp下 read  -p  "请输入您要将目录下大于200K文件移动的目录路径:" $1 for FILE in `ls  $1` do if [ -f  $FILE ] ; then if [ `ls -l $FILE | awk `{print $5}` -gt 204800 ] ; then mv  $

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

http://blog.csdn.net/rumswell/article/details/9818001 # -*- coding: utf-8 -*-#~ #----------------------------------------------------------------------#~ module:wlab#~ Filename:wgetfilelist.py#~ Function :#~ def IsSubString(SubStrList,Str)#~ def GetF

批量修改指定目录下的文件名

import os def file_name_modify(dir, dir_name): """修改文件名字""" # 获取文件夹目录列表 dir_list = os.listdir(dir) # 进入目录 os.chdir(dir) # 遍历列表 for file in dir_list: # 判断文件是否为目录文件 if os.path.isdir(file): # 拼接前缀名 dir_name = dir_name + ' -- ' +