java32:I/O

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java32:I/O相关的知识,希望对你有一定的参考价值。

Java 对操作系统中文件系统的支持

File 类

    用于描述操作系统中的一个文件或者目录

    通过File 我们可以得知文件的名字,大小,修改时间等信息,但是不能读取文件的内容

package day32;

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

public class FileDemo {
	public static void main(String[] args){
		
		File file = new File("."+File.separator+"File.txt");
		//File file = new File(".");
		
								//	目录分割符 保证最好的兼容性
			
		if(file.exists()){//file.exists() 文件是否存在 boolean
			System.out.println("Existing file");
			if(file.isFile()){//是不是文件
				System.out.println("Is File");
			}
			if(file.isDirectory()){//是不是目录
				System.out.println("Is Dir");
			}
			System.out.println("名字:"+file.getName());//获取File 描述的文件或者目录的名字
			System.out.println(file.getName()+":"+file.length()+"字节");//获取File的字节量
			
			long last = file.lastModified();//获取文件最后一次修改的日期的毫秒值
			Date date = new Date(last);
			SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 - HH:mm:ss");
			System.out.println(format.format(date));
			
			System.out.println(file.getPath());//相对路径
			
			System.out.println(file.getAbsolutePath());//绝对路径,有点问题
			try {
				System.out.println(file.getCanonicalPath());//系统标准的绝对路径,但是这个方法要求我们捕获异常
			} catch (Exception e) {
				
			}
			
			
			System.out.println("可读"+file.canRead());//判断是否可读 boolean
			System.out.println("可写"+file.canWrite());//判断是否可写 boolean
			
			
		}else{
			System.out.println("No Existing file");
		}
	}
}
package day32;

import java.io.File;

public class FileDemo02 {
	public static void main(String[] args){
		File dir = new File("."+File.separator+"Img");
		if(!dir.exists()){
			dir.mkdir();//创建了一个目录
			
		}else{
			System.out.println("目录已存在");
		}
		//File sub = new File("."+File.separator+"Img"+File.separator+"sub");
		File sub = new File(dir,"Sub");//重载
		if(!sub.exists()){
			sub.mkdir();
		}else{
			System.out.println("目录已存在");
		}
		
	}
}
package day32;

import java.io.File;

public class FileDemo03 {
	public static void main(String[] args){
		File file = new File("."+File.separator+"a"
								+File.separator+"b"
								+File.separator+"c"
								+File.separator+"d"
								+File.separator+"e"			
					);
		System.out.println(file.getPath());
		if(!file.exists()){
			file.mkdirs();//创建多级目录
		}
	}
}
package day32;

import java.io.File;
import java.io.IOException;

public class FileDemo04 {//创建文件
	public static void main(String[] args){
		File file = new File("Readme.txt");//  .\可以省略不写 默认就是在当前目录的
		if(!file.exists()){
			try{
			file.createNewFile();//不支持创建目录的同时创建文件
			}catch(IOException e){
				
			}
		}
	}
}
package day32;

import java.io.File;

/**
 * 
 *	删除文件或者目录
 */
public class FileDemo05 {
	public static void main(String[] args) {
		File file = new File("Readme.txt");
		if(file.exists()){
			file.delete();			
		}else{
			System.out.println("没有 这个 文件");
		}
		File file1 = new File("Img");
		if(file1.exists()){
			file1.delete();//删掉目录的时候目录中必须是空的
		}else{
			System.out.println("没有这个目录");
		}
		
	
	}
}
package day32;

import java.io.File;
import java.util.Arrays;
/**
 * 
 *获取当前目录下所有子项的名字
 */
public class FileDemo06 {
	public static void main(String[] args){
		File file = new File(".");
		if(file.isDirectory()){
			String[] filename = file.list();
			System.out.println(Arrays.toString(filename));
		}
		File[] subs = file.listFiles();//获取所有的子项
		for(File f:subs){
			System.out.println(f.getName()+"-"+f.length());
		}
	}
}


本文出自 “浪漫的偷笑” 博客,转载请与作者联系!

以上是关于java32:I/O的主要内容,如果未能解决你的问题,请参考以下文章

java代码实现socket接口通讯(堵塞I/O)

java I/O流基础(知识+代码示例)

java I/O流基础(知识+代码示例)

STC32单片机 普通 I/O 口中断功能介绍和使用

Java NIO原理图文分析及代码实现

测试 I/O 完成端口支持