java流与文件_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(输出即可);

最有关于文件的复制.

一边读取以便输入即可,采取一读一写,而不是读取字节数组

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值