【Java EE】File类的用法和InputStream、OutputStream的用法

   在Java中,File类和InputStream、OutputStream是常用的输入输出相关的类,他们在文件的读写和处理方面有着广泛的应用。

1.File类的用法

File类用于表示文件或者目录的路径名。它提供了许多方法来操作文件或目录,包括创建、删除、重命名、修改文件或者目录等等。

以下是File类的常用属性、构造方法以及方法:

属性
修饰符以及类型 属性 说明
static String pathSeparator

依赖于系统的路径分隔符,String类型的表示

static char pathSeparator 依赖于系统的路径分隔符,char类型的表示

 

 

构造方法
签名

说明

File(File parent,String child) 根据父目录+孩子文件路径,创建一个新的File实例
File(String pathname) 根据文件路径创建一个新的File实例,路径可以是绝对路径或者相对路径
File(String parent,String child) 根据父目录+孩子文件路径,创建一个新的File实例,父目录用路径表示

 

 

 

 

 

 

方法
修饰符及返回值类型 方法签名 说明
String getParent() 返回File对象的父目录文件路径
String getName() 返回File对象的纯文件名称
String getPath() 返回File对象的文件路径
String getAbsolutePath() 返回File对象的绝对路径
String getCanonicalPath() 返回File对象的修饰过的绝对路径
boolean exists() 判断File对象描述的文件是否真实存在
boolean isDirectory() 判断File对象代表的文件是否是一个目录
boolean isFile() 判断File对象代表的文件是否是一个普通文件
boolean createNewFile() 根据File对象,自动创建一个空文件。成功创建后返回true
boolean delect() 根据File对象,删除该文件,成功删除后返回true
void deleteOnExit() 根据File对象,标注文件将被删除,删除动作会到jvm运行结束时才会结束
String[] list() 返回File对象代表的目录下的所有文件名
File[] listFiles() 返回File对象代表的目录下的所有文件,以File对象表示
boolean mkdir() 创建File对象代表的目录
boolean mkdirs() 创建File对象代表的目录,如果必要,会创建之间目录
boolean rename To(File dest) 进行文件改名,也可以视为我们平时的剪切、粘贴操作
boolean canRead() 判断用户是否对文件有可读权限
boolean canWeite() 判断用户是否对文件有可写权限

 

代码示例:

File file = new File("C:\\test.txt");  
if (file.createNewFile()) {  
    System.out.println("File created successfully.");  
} else {  
    System.out.println("File already exists.");  
}  
file.delete();
2.InputStream、OutputStream的用法

InputStream、OutputStream 是 Java中最基本的输入输出流,它们是所有输入输出流的根类。InputStream 表示输入流,用于从输入流中读取数据;OutputStream 表示输出流,用于将数据写入输出流。

以下是 InputStream 和 OutputStream 常用的方法:

int read():从输入流中读取一个字节的数据,并返回读取的字节值,如果已经到达文件末尾,则返回 -1。

int read(byte[] b): 从输入流中读取指定长度的字节数据,存储到指定的字节数组中,并返回实际读取的字节数,如果已经到达文件末尾,则返回 -1。

long skip(long n):跳过输入流中的指定字节数,并返回实际跳过的字节数。

void write(int b) :将一个字节的数据写入输出流。

void write(byte[] b): 将指定长度的字节数据写入输出流。

代码示例:

InputStream inputStream = new FileInputStream("C:\\test.txt");  
byte[] buffer = new byte[1024];  
int length = inputStream.read(buffer);  
while (length != -1) {  
    System.out.print(new String(buffer, 0, length));  
    length = inputStream.read(buffer);  
}  
inputStream.close();

你可能感兴趣的:(JAVA,java-ee,java)