用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

java.io.File的基本使用以及关于Windows中大小写问题

2015-07-20 作者: 锋客举报

[java]代码库

package fengke.filedemo;

import java.io.File;
import java.io.IOException;
/**
 * java.io.File的基本使用以及关于Windows中大小写问题
 * @author 锋客
 *   注意:文件创建的异常;默认路径与绝对路径的问题;多级目录的创建
 *       掌握三种构造方法;不能用于文件内容的访问。
 *
 */

public class FileDemo {
    /* File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问
     * File类提供的三个构造方法(重点)
     *      1)File (String   pathname)    
     *        例:File  f1=new File("FileTest1.txt"); 
     *        注意:创建文件对象f1,f1所指的文件是在当前目录下创建的FileTest1.txt
     *            默认路径问题 
     *      2)File (String  parent  ,  String child)  
     *        例:File f2=new  File(“D:\\dir1","FileTest2.txt") ;
     *        注意:D:\\dir1目录事先必须存在,否则异常
     *      3)File (File    parent  , String child)      
     *        例:File  f4=new File("\\dir3"); 目录          
     *          File  f5=new File(f4,"FileTest5.txt");  
     *          在如果 \\dir3目录不存在使用f4.mkdir()先创建 
     *File提供的方法:
     *创建方法:
     *    1.boolean createNewFile() 不存在返回true 存在返回false
     *    2.boolean mkdir() 创建目录
     *    3.boolean mkdirs() 创建多级目录
     *删除方法:
     *   1.boolean delete()
     *   2.boolean deleteOnExit() 文件使用完成后删除
     *判断方法:
     *   1.boolean canExecute()判断文件是否可执行
     *   2.boolean canRead()判断文件是否可读
     *   3.boolean canWrite() 判断文件是否可写
     *   4.boolean exists() 判断文件是否存在
     *   5.boolean isDirectory() 判断是否为目录
     *   6.boolean isFile() 判断是否为文件
     *   7.boolean isHidden() 判断是否隐藏
     *   8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断
     *   9.boolean isFormField()
     *             普通文本表单字段,还是一个文件表单字段,如果是普通表单字段则返回true,否则返回false。
     *             因此,可以使用该方法判断是否为普通表单域,还是文件上传表单域
     *   
     *获取方法:
     *   1. String getName()//获得文件上传字段中的文件名
     *                      注意:IE或FireFox中获取的文件名是不一样的,IE中是绝对路径,FireFox中只是文件名。
     *   2. String getPath()//默认路径:创建时是相对路径则为相对路径,创建时为绝对路径则为绝对路径
     *   3. String getAbsolutePath()//绝对路径
     *   4. String getgetCanonicalPath()//全路径
     *                                   如果构造的时候就是全路径那直接返回全路径
     *                                   如果构造的时候试相对路径,返回当前目录的路径+构造file时候的路径
     *   4. String getParent()//如果没有父目录返回null
     *   5. long lastModified()//获取最后一次修改的时间
     *   6. long length()
     *   7. boolean renameTo(File f)
     *   8. File[] liseRoots()//获取机器盘符
     *   9. String[] list() 
     *   10.String[] list(FilenameFilter filter)
     *   11.String getFieldName()//返回表单标签name属性的值。<input type="text" name="column" />的value
     *   
     */
	public static void main(String[] args) throws IOException {
		// 了解构造函数的情况  查帮助
		File file = new File("E:\\javaio\\fengke");
		//System.out.println(file.exists());
		if(!file.exists())
			file.mkdirs(); //file.mkdir()
		else
			file.delete();
		//文件或目录还未创建
		System.out.println("**********创建file,file2,file3前********");
		//是否是一个目录  如果是目录返回true,如果不是目录or目录不存在返回的是false
		System.out.println("是否存在目录E:\\javaio\\fengke====="+file.isDirectory());
		//是否是一个文件
		System.out.println("是否是个文件E:\\javaio\\fengke====="+file.isFile());
		
		//File file2 = new File("e:\\javaio\\日记1.txt");
		File file2 = new File("e:\\javaio","日记1.txt");
		//路径的使用
		File file3 = new File("日记2.txt");
		if(!file2.exists())
			try {
				file2.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		else 
			file2.delete();
		if(!file3.exists())
			try {
				file3.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		else 
			file3.delete();
         //常用的File对象的API
		System.out.println("*************路径问题**************");
		System.out.println("输出目录file = new File('E:\\javaio\\fengke'):"+file);//file.toString()的内容
		System.out.println("目录file = new File('E:\\javaio\\fengke')的绝对路径:"+file.getAbsolutePath());
		System.out.println("目录file = new File('E:\\javaio\\fengke')的默认路径:"+file.getPath());
		System.out.println("文件file3 = new File('日记2.txt')的默认路径:"+file3.getPath());
		System.out.println("*************文件与目录的操作**************");
		System.out.println("输出目录名字:"+file.getName());
		System.out.println("输出文件名字:"+file2.getName());
		System.out.println("输出目录的上级目录"+file.getParent());
		System.out.println("输出文件的上级目录"+file2.getParent());
		System.out.println("输出文件的上级目录的绝对路径"+file.getParentFile().getAbsolutePath());
		System.out.println("file2文件是否隐藏:"+file2.isHidden());
		/*
		 * 
		 * window是大小写不敏感的,所以在windows上当文件不存在时,得到的路径就是按照输入的路径。
		 * 但当文件存在时,就会按照实际的情况来显示。
		 * 这也就是建立文件后和删除文件后会有不同的原因。文件夹和文件类似。
		 */
		//关于Windows中大小写问题
		System.out.println("================Windows中大小写问题==============");
		 File file_windows = new File("e:\\Text.txt");
	     System.out.println(file_windows.getCanonicalPath());
	     //当用户没有文件text.txt时,输出结果为E:\Text.txt
	     //当用户已经创建了文件text.txt,输出结果为E:\text.txt
		
	}

}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...