java io流与文件操作

Posted Deemo_hans

tags:

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

Java的文件操作

File类位于java.io包中

我们可以使用File操作文件

首先创建对象

File file=new File("路径")//关联文件

创建文件:file.createNewFile()//首先这里会抛异常需要try...catch处理,其次如果有同名文件则不会创建.

创建文件夹:file.mkdir文件操作

 

File类位于java.io包中

 

我们可以使用File操作文件

 

首先创建对象

 

File file=new File("路径")//关联文件

 

创建文件:file.createNewFile()//首先这里会抛异常需要try...catch处理,其次如果有同名文件则不会创建.

 

创建文件夹:file.mkdir()

使用以上两个命令的时候

我们可以使用file.exists()来判断这个文件或者文件夹存不存在

例:if(file.exists())

{sout(文件已存在)}

else

{file.createNewFile()}//创建文件或文件夹file.madir()

我们可以用一些命令来获取我们一开始所关联的文件信息

file.getname()//获取文件名

file.length()//获取文件大小

file.getPath()//获取文件路径

我们还可以使用file.isFile()判断是不是文件

使用file.isDirectory()判断是不是文件夹

例:if(file.isfile())

{sout(这是一个文件)

else{sout(这不是一个文件)}

对于隐藏的文件,由于不管是否隐藏JAVA都能读取出来

因此我们可以使用file.isHidden()来检查文件是否隐藏

文件的最后修改时间

可以使用file.lastModified()查询,但是是毫秒

使用new date(file.lastModfied)转换成格林威治时间

展示一个文件夹内所有的文件

使用file.listFiles()可以获取所有的文件,

由于他的返回值是数组,因此我们需要创建一个数组来接收

并使用for循环(foreach)遍历即可

配合前面的功能我们可以展现一个较完整的文件属性界面

最后我们需要使用file.close()关闭文件.//不关闭除了消耗资源外没有影响

iostream的部分

我们可以按流向和数据处理区分

按流向区分

首先分清楚输入与输出的关系.他的参照物是java本身

输出流(java向其他文件输入)

输入流(java向其他文件读取,也就是向java输入)

按流向区分的命令:

输出流:outputStream和writer是基类

输入流:inputStream和reader是基类

按处理方式区分:

字节流:outputStream,inputStream

字符流:writer,reader

接下来我们使用流对文件进行操作

二进制的字节流读写操作使用

FileinputStream文件输入流

使用步骤

1,创建对象:FileOutStream fos=new FileOutStream("路径")//此方法是每次打开都清空内容重写,如果是追加写入需要在路径后加逗号true.

注意:这里会报错需要写try...catch并且操作需要在try中完成,因为作用域在try中

2写入:

使用fos.write(内容)进行字节写入//单字节且无法实用汉字

多字节写入:

要写入的内容:String str="hello,world"

创建数组:Byte bs[]=str.getBytes()

fos.write(bs)

3关闭文件:fos.close()

fileOutStream文件输出流

用来读取文件

1,创建对象(略) fis

2一次读取一个文件:int math=fis.read()//注意:1,文件的第一个是汉字无法读取出汉字,2read()部分会抛出异常由于之前已经有try..catch所以这里加catch就可以了

3关闭文件

但是我们肯定是需要一次性读取多个文件

首先:将文件转化成字符数组

Byte bs[]=new Byte[fis.available()]//其中数组长度就是我们需要读取的字节长度.fis.available()是获取的文件长度,这样来保证完整的读取所有文件

然后使用fis.read(bs)读取字节文件

最后用String str=toString(bs)将字节数组转化为字符串

用sout(输出即可);

最有关于文件的复制.

一边读取以便输入即可

以上是关于java io流与文件操作的主要内容,如果未能解决你的问题,请参考以下文章

JavaExp9:输入输出流与文件操作

JavaExp9:输入输出流与文件操作

序列化流与反序列化流

JAVA IO流相关代码(究极整理,字符流与字节流之间的转化)

Java:IO流与文件基础

IO流与NIO流