java中的输入输出流1

java中的输入输出流1

     输入输出流---对文件进行读【打开】写【修改】操作的java类库。

    文件---把数据持久化到磁盘的载体

           ---文件的组成

           1.文件的属性【文件名称,文件大小,文件类型,创建时间.....】

           2.文件内容【输入输出流】

     我们要想通过java提供的输入输出流读写文件中的内容就得先学会操作文件。Java中为我们提供了一个专门操作文件的java类--java.io.File类

9.1.File类的对象创建和常用方法?

     File类的定义  public class File

     File类的静态成员变量

static String

pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示为字符串。

static char

pathSeparatorChar 与系统相关的路径分隔符。

static String

separator 与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。

static char

separatorChar 与系统相关的默认名称分隔符。

package com.wangxing.filedemo;

import java.io.File;

public class FileDemo1 {
		public static void main(String args[]){
			//file的静态成员变量
			//static String 	pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示字 
            //符串,不常用
			//static char 		pathSeparatorChar 与系统相关的路径分隔符。  [不常用]
			//static String     separator 与系统相关的默认名称-分隔符字符	,以方便的表示为字 
            //符串【常用】
			//static char		separatorChar与系统相关的默认名称分隔符。 [不常用]
				System.out.println("static String 
            //pathSeparator=="+File.pathSeparator);//;
				System.out.println("static char  
            //pathSeparatorChar=="+File.pathSeparatorChar);//;
				System.out.println("static String separator=="+File.separator);// \
				System.out.println("static char separatorChar=="+File.separatorChar);// \
			//路径分隔符字符  ;    分隔符字符  \
			//常用的是分隔符字符  \ 【static String	separator[常用]/static char	 
            //separatorChar】
			//分隔符字符  \ 可以用来充当文件路径的分割符号
			//例如:F:\20201201\java基础\20201230java(22)\java中的输入输出流1.docx
			//sSystem.out.println("java中的输入输出流1.docx的路径==F:\20201201\java基础 
            //\20201230java(22)\java中的输入输出流1.docx");
			//默认的 \ 所代表的路径分隔符号在使用的时候会被认为是转义字符
				System.out.println("java中的输入输出流1.docx的路径==E:\\java 
            //Bai\\ziliao\\20201230java(22)");//java中的输入输出流1.docx的路径==E:\java 
            //Bai\ziliao\20201230java(22)
			//不同的操作系统使用的代表文件路径的分隔符号是不同的
			//例如 :  windows  --  \  liunx  ---  /
			//为了保证我们所编写的java程序能够正常的运行在不同的平台上,所以java将代表文件路径 
            //的分隔符号,封装成一个静态变量。
			//在不同的的平台上,这个静态变量就代表当前系统的文件路径的分隔符号
			//所以我们以后再编写文件路径的时候,要尽量使用File类提供的表示分隔符字符的静态变量
				System.out.println("java中的输入输出流1.docx的路径 
            //==E:"+File.separator+"java 
            //Bai"+File.separator+"ziliao"+File.separator+"20201230java(22)");//java中的 
            //输入输出流1.docx的路径==E:\java Bai\ziliao\20201230java(22)
		}
}

     构造方法:

File(String pathname) 通过给定的文件路径字符串创建新的 File实例。

File(String parent, String child) 通过给定的文件位置字符串和给定的文件名称字符串创建新的 File实例。

File(File parent, String child) 通过给定的文件位置File对象和给定的文件名称字符串创建新的 File实例。  

package com.wangxing.filedemo;

import java.io.File;

public class FileDemo2 {
		public static void main(String args[]){
			//file的构造方法
			//File(String pathname) 通过给定的文件路径字符串创建新的 File实例。 
			//文件夹
				String test="E:"+File.separator+"java 
                    Bai"+File.separator+"eclipse"+File.separator+"test";
				File testFile=new File(test);
			//利用eclipse-jee.zip文件路径创建表示eclipse-jee.zip文件的File对象
			//文件
				String mytest="E:"+File.separator+"java 
                    Bai"+File.separator+"eclipse"+File.separator+"mytest.txt";
				File mytestFile=new File(mytest);
			//File(String parent, String child) 通过给定的文件位置字符串和给定的文件名称字符 
            //串创建新的 File实例。 
			//String parent---保存文件所在文件夹的路径
			//String child ---文件名称
				String parent="E:"+File.separator+"java Bai"+File.separator+"eclipse";
				String child="test";
				File testexlipse2=new File(parent,child);
			//File(File parent, String child) 通过给定的文件位置File对象和给定的文件名称字符 
            //串创建新的 File实例。  
			//File parent---保存文件所在文件夹的路径[利用第一个File构造方法]
			//String child ---文件名称
			//创建eclipse-jee.zip文件的File对象
				File parent1=new File("E:"+File.separator+"java 
                   Bai"+File.separator+"eclipse");
				String child1="test";
				File testduixiang=new File(parent1,child1);
		}
}

      注意:文件File类的对象创建以后,不会生成实际的文件。

       实例方法:

boolean

exists() 判断路径名表示的文件或目录是否存在。

boolean

createNewFile() 创建新文件

boolean

mkdirs()  创建新的文件夹

boolean

delete()  删除文件/文件夹

删除文件夹的时候要将该文件夹下的文件和子文件夹全部删除

boolean

canRead() 判断文件是否可读

boolean

canWrite() 判断文件是否可写 

boolean

isHidden() 判断文件是否为隐藏文件。

boolean

isFile() 判断文件对象是否为普通文件。

boolean

isDirectory() 判断文件对象是否为目录。

String

getPath() 得到文件对象的路径名字符串。

String

getName() 得到文件对象所表示的文件或目录的名称。

String

getParent() 得到文件对象所表示的路径的父目录路径 

long

length() 得到文件对象所表示的文件的长度。

long

lastModified() 得到文件对象所表示的文件上次修改的时间。

String[]

list() 得到文件对象代表的文件夹中的所有文件和文件夹名称返回一个字符串数组

File[]

listFiles() 得到文件对象代表的文件夹中的所有文件和文件夹的文件对象,返回一个文件对象数组

package com.wangxing.filedemo;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FileDemo3 {
		public static void main(String args[]) throws Exception{
			//file的实例方法
			//boolean	exists() 判断路径名表示的文件或目录是否存在。
				String tesrPath="E:"+File.separator+"java 
                   Bai"+File.separator+"eclipse"+File.separator+"test";
				File testFile=new File(tesrPath);
				System.out.println("exits=="+testFile.exists());//false
				
				String mytest="E:"+File.separator+"java 
                   Bai"+File.separator+"eclipse"+File.separator+"mytest.txt";
				File mytestFile=new File(mytest);
				System.out.println("exits=="+mytestFile.exists());//false
				//boolean	createNewFile() 创建新文件
				//System.out.println("mytestfile--creat=="+mytestFile.createNewFile());						
			//boolean	mkdirs()  创建新的文件夹
				//System.out.println("test--creat=="+testFile.mkdirs());
			//boolean	delete()  删除文件/空文件夹
				//1.删除文件
				//System.out.println("mytestfile--delet=="+mytestFile.delete());
				//2.删除文件夹【没有子文件/子文件夹】
				//System.out.println("testfile--delete=="+testFile.delete());
				//3.删除文件夹【有子文件/子文件夹】[删除文件夹的时候要将该文件夹下的文件和子文 
                //件夹全部删除]
			//boolean	canRead() 判断文件是否可读
				System.out.println("canread=="+testFile.canRead());//true
			//boolean	canWrite() 判断文件是否可写
				System.out.println("canWrite=="+testFile.canWrite());//true
			//boolean	isHidden() 判断文件是否为隐藏文件。
				System.out.println("isHidden=="+testFile.isHidden());//false
			//boolean	isFile() 判断文件对象是否为普通文件。 【文件】
				System.out.println("isFile=="+testFile.isFile());//false
			//boolean	isDirectory() 判断文件对象是否为目录。【文件夹】
				System.out.println("isDirectory=="+testFile.isDirectory());//true
			//String	getPath() 得到文件对象的路径名字符串。 
				System.out.println("testFile--getPath=="+testFile.getPath());//E:\java 
                  //Bai\eclipse\test
			//String	getName() 得到文件对象所表示的文件或目录的名称。	
				System.out.println("testFile--getName=="+testFile.getName());//test
			//String	getParent() 得到文件对象所表示的路径的父目录路径 
				System.out.println("testFile--Partent=="+testFile.getParent());//E:\java 
                  // Bai\eclipse
			//long	length() 得到文件对象所表示的文件的长度。[单位字节]
				System.out.println("testFile--length=="+testFile.length());//0
			//long	lastModified() 得到文件对象所表示的文件上次修改的时间。 [单位毫秒数]
				System.out.println("testFile-- 
                  lastModified=="+testFile.lastModified());//1609377427436
			//改成熟知的格式
				Date d1=new Date(testFile.lastModified());
				SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd E HH:mm");
				sdf.format(d1);
				System.out.println(sdf.format(d1));
				
				
		}
}
package com.wangxing.filedemo;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FileDemo4 {
		public static void main(String args[]) throws Exception{
			/*
			//file的实例方法
			//String[]	list() 得到文件对象代表的文件夹中的所有文件和文件夹名称返回一个字符串 
            //数组
			String exlipsepath="E:"+File.separator+"java Bai"+File.separator+"eclipse";
			File exlipseFile=new File(exlipsepath);
			String str1[]=exlipseFile.list();
			for(String st2:str1){
				System.out.println(st2);
			}
			*/
			
			//File[]	listFiles() 得到文件对象代表的文件夹中的所有文件和文件夹的文件对象,返 
            //回一个文件对象数组
			String exlipsepath="E:"+File.separator+"java Bai"+File.separator+"eclipse";
			File exlipseFile=new File(exlipsepath);
			File exlipse[]=exlipseFile.listFiles();
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd E HH:mm");
			for(File ex1:exlipse){
				//得到子文件/子文件夹的名称
				String name=ex1.getName();
				//得到子文件/子文件夹的最后修改时间
				Date date=new Date(ex1.lastModified());
				String time=sdf.format(date);
				
				String type="";
				if(ex1.isDirectory()){
					type="文件夹";
				}else{
					//得到文件的后缀名
					String leixing=name.substring(name.lastIndexOf("."));
					if(leixing.equalsIgnoreCase(".xml")){
						type="xml文件";
					}
					if(leixing.equalsIgnoreCase(".exe")){
						type="运行程序";
					}
					if(leixing.equalsIgnoreCase(".ini")){
						type="配置设置";
					}
					if(leixing.equalsIgnoreCase(".zip")){}
						type="压缩文件";
					}
					//得到文件的大小
					int size=name.length();
				System.out.println(name+"\t"+time+"\t"+type+"\t"+size+"字节");
				}		
		}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值