• 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(输出即可);

    最有关于文件的复制.

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

  • 相关阅读:
    #Linux 系统管理命令 | top命令
    Linux 操作文件目录
    背包问题(1)背包的引入
    硬币找零问题
    输入一个正数 n,输出所有和为 n 连续正数序列。 java实现
    张小二求职记之 单例模式(三)之决战多线程
    张小二求职 之单例模式(一)
    张小二求职记之 单例模式(二)
    待修改 nyoj 412 又是一个遗留问题
    nyoj 904 hashmap
  • 原文地址:https://www.cnblogs.com/deemohans/p/11721326.html
Copyright © 2020-2023  润新知