美文网首页
JAVA -----文件操作

JAVA -----文件操作

作者: 26小瑜儿 | 来源:发表于2019-08-15 18:32 被阅读0次

File文件操作:


image.png
image.png
image.png
image.png
创建文件
        String path ="D:/Java learning/java/src/main/java/day8";
        File file = new File(path.concat("/1.txt"));
        //判断是否存在
        if(file.exists()==false){
            // 不存在就创建
            try{
                file.createNewFile();
            }catch (IOException e){
                System.out.println("IO异常了");
            }
        }
向文件写入数据-字节流
        // 1.创建文件输出流对象
        FileOutputStream fos = new FileOutputStream(file);

        // 2.调用write方法写入
        byte[] text = {'1','2','3','4'};
        fos.write(text);

        // 3.操作完毕需要关闭stream对象
        fos.close();
向文件写入数据-字符流
        FileWriter fw = new FileWriter(file);

        char[] name = {'安','卓','开','发'};
        fw.write(name);

        fw.close();
        ```
    ##读取内容(两种方式)

        FileInputStream fis = new FileInputStream(file);

        byte[] name = new byte[12];
        int count = fis.read(name);

        fis.close();

        System.out.println(count+" "+new String(name));

        FileReader fr = new FileReader(file);

        char[] book = new char[4];
        count = fr.read(book);

        fr.close();
        System.out.println(count+" "+new String(book));

向文件里面存一个对象
序列化 serializable
保存的对象必须实现Serializable接口
如果对象内部还有属性变量是其他类的对象
这个类也必须实现Seriablizable接口

image.png
    Dog wc = new Dog();
    wc.name = "旺财";

    Person xw = new Person();
    xw.name = "小王";
    xw.age = 20;
    xw.dog = wc;

    OutputStream os = new FileOutputStream(file);
    ObjectOutputStream oos = new ObjectOutputStream(os);
    oos.writeObject(xw);
    oos.close();


    //从文件里面读取一个对象

    InputStream is = new FileInputStream(file);
    ObjectInputStream ois = new ObjectInputStream(is);
    Person xw = (Person) ois.readObject();

    System.out.println(xw.name+" "+xw.age+" "+xw.dog.name);

    ois.close();

使用BufferedInputStream 和 BufferedOutStream 提高读写的速度


image.png

RandomAccessFile 随机访问文件 使用seek定位访问的位置


image.png
自练小Demo

输入一串字符,以#号键结尾,将字符写入文件并显示到屏幕

public class Documents {
    public static final String PATH = "D:/Java learning/java/src/main/java/day8/1.txt";
    String password;
    public static final String PATH2 = "D:/Java learning/java/src/main/java/day8/5.txt";

    public static  void main (String []args) throws IOException, ClassNotFoundException {

          char ch;
          int data;
          FileInputStream fin = new FileInputStream(FileDescriptor.in);
          FileOutputStream fout = new FileOutputStream(PATH);
          System.out.println("请输入一串字符串,以#号结尾");
          while((ch=(char)fin.read())!='#')
              fout.write(ch);          //写出一个字节数据
          fin.close();
          fout.close();
          System.out.println();
          fin = new FileInputStream(PATH);
          fout = new FileOutputStream(FileDescriptor.out);
          while(fin.available()>0){
              fout.write(fin.read());
          }
    }

}

感悟:
多敲就完事了。

相关文章

  • java学习路线

    javaSE java基础语法 java文件操作 java网络操作 java多线程 java数据库操作 java ...

  • Java实现文件目录操作书目录

    Java实现文件目录操作之使用IO和NIO创建目录 Java实现文件目录操作之递归遍历目录和文件 Java实现文件...

  • 文件与流-1

    文件与流 持久化操作:(文件里、数据库里)Java.io 文件分隔符 目录操作 文件操作

  • Java之File类

    Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作。本文将对Java File文件操作...

  • java IO 流

    1.什么是java IO?通过java一些列文件操作的API,对文件进行读取,写入等操作。即为java IO;这里...

  • JavaSE常用API之File

    java可以对文件进行操作,包括但不限于创建、删除、读取文件内容,写入文件内容等操作,非常的强大! java.io...

  • 第17章 文件类

    Java提供了对操作系统中文件进行操作的文件类,其类名是java.io.File类,其中包含了对文件和目录(文件夹...

  • 2018-01-31

    java中对文件的读写操作

  • java 深度拷贝

    利用文件操作进行java深度拷贝。

  • java 文件操作

    java.nio 作为一个新的io包。提供一下文件处理思路:java.nio.file.DirectoryStre...

网友评论

      本文标题:JAVA -----文件操作

      本文链接:https://www.haomeiwen.com/subject/lpmnjctx.html