精华内容
下载资源
问答
  • 读写流
    千次阅读
    2017-05-03 10:02:48

    随机读写流RandomAccessFile

    简介

    此类的实例支持对随机访问文件的**读取和写入**。
    
    随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。
    
        存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。
        如果随机访问文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。
    

    1)既是输入流也是输出流

    2)构造方法

    RandomAccessFile(File file, String mode) 
    RandomAccessFile(String name, String mode) 
        参数2:只能是r或rw
            r表示只读
            rw表示可读可写
    

    两个构造方法是一样的,只是第一个参数的类型不同,但参数1:都是文件路径,是file类中表示路径的两种方式

    2)特有方法

        【指定位置读写】 void seek(long pos) 
        【读取一行】String readLine() 
        【跳过字节】int skipBytes(int n) 
    

    3)应用场景:如多线程复制文件

    实例代码见下一节

    更多相关内容
  • C++文件读写流样板

    2018-11-01 00:00:31
    C++文件读写流样板
  • Java读写流的基本两种方式

    千次阅读 2019-07-18 10:53:29
    1. 用两种方式一种是低层另一种是高层 import java.io.FileWriter; import java.io.InputStream; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.BufferedReader...

    1. 流用两种方式一种是低层流另一种是高层流

    import java.io.FileWriter; 
    import java.io.InputStream; 
    import java.io.BufferedWriter; 
    import java.io.InputStreamReader; 
    import java.io.BufferedReader; 
    import java.io.FileReader;
    public class Untitled1 { public static void writeFileChar() throws Exception { 
    FileWriter f = new FileWriter("c:\\aa.txt"); 
    InputStream is = System.in; 
    int c = is.read(); 
    while (((char) c) != 'x') { f.write(c); c = is.read(); 
    } 
       f.close(); 
       is.close(); 
    }
    public static void writeFileString() throws Exception { 
    FileWriter f = new FileWriter("c:\\aa.txt"); 
    BufferedWriter bwr=new BufferedWriter(f); 
    BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 
    String c = bf.readLine(); 
    while (!c.equals("stop")) { 
       bwr.write(c+"\r\n");
       c = bf.readLine();
    } 
       bwr.close(); 
       f.close(); 
       bf.close();
    }
    public static void readFileChar() throws Exception { 
    FileReader f = new FileReader("c:\\aa.txt"); 
    int c = f.read(); 
    while (c!=-1) { System.out.print((char)c); 
       c=f.read(); 
      }
       f.close();
    }
    public static void readFileString() throws Exception { 
    BufferedReader bf = new BufferedReader(new FileReader("c:\\aa.txt")); 
    String c = bf.readLine(); 
    while (c!=null) { System.out.println(c); 
       c=bf.readLine(); 
     } 
       bf.close(); 
    }
    public static void main(String[] args) throws Exception { 
       readFileString(); 
      }
    }
    
    
        在 java 使用流的机制进行数据的传送,从文件到内存是输入流,从内存到文件是 输出流,输入流可以通过 read 读取,输出流以 write 或 print 写入,对于流可以是分 为高层流和低层流,低层以一个字节或字符为单位进行处理,高层流以一批数据为单位 进行处理。
    

    FileInputStream(System.in)至 InputSteamReader 至 BufferReader
    OutputSteam(System.out)至 printStream
    FileReader 至 BufferedReader
    FileWriter 至 PrintWriter 或 bufferWriter
    分类:
    字节(二进制)
    FileInputStream(低层输入流)
    FileOutputStream(低层输出流)
    PrintStream(高层流) System.out.println()
    字符(一个 char)
    FileReader
    FileWriter

    3.异常分析

    Try:执行部分,产生异常
    Catch:捕捉异常
    Finally:不管有没有异常都执行
    Throws:在方法声明处声明要抛出的异常,调用者必须对其进行处理。 Throw:抛出一个异常

    在 try 中可以抛出异常,一般与声明的异常相同。

    自定义异常要继承于 Exception 或 Exception 的子类

    展开全文
  • 普通文件流和随机读写流区别 普通文件流:http://blog.csdn.net/baidu_37107022/article/details/71056011FileInputStream和FileOutputStreamFileReader和FileWriter 随机读写流:...

    普通文件流和随机读写流区别

    普通文件流:http://blog.csdn.net/baidu_37107022/article/details/71056011

    FileInputStream和FileOutputStream
    
    FileReader和FileWriter
    

    随机读写流:http://blog.csdn.net/baidu_37107022/article/details/71107086

    RandomAccessFile
    

    两者区别:

    1.流向分类差别

    普通文件流:分输入流和输出流
    
    随机读写流:既是输入流也是输出流
    

    2.基本方法区别

    普通文件流:拥有所有共性方法,
        比如read(),write(),close(),flush(),skip()等等方法
    

    随机读写流:除了拥有这些共性方法,还有自己特有的方法,
        比如readLine(),seek(),skipBytes()等等方法
        特别注意:随机读写流没有flush()方法
    

    3.构造方法区别

    普通文件流:
    1)输入流:参数都文件路径
    FileInputStream(File file)     
    FileInputStream(String name) 
    2)输出流:参数1--都是文件路径;
        FileOutputStream(File file)
        FileOutputStream(String name) 
    
    参数2 append:
    true时--写入时不覆盖原有内容,而是在文件内容后面接着写;
    false--写入时会覆盖原有内容,没有第二个参数时默认是false
        FileOutputStream(File file, boolean append) 
        FileOutputStream(String name, boolean append) 
    

    随机读写流:
    参数1:都是文件路径;参数2:是读写模式,只有两个取值--r或rw
    RandomAccessFile(File file, String mode) 
    
    RandomAccessFile(String name, String mode) 
    

    4.读写位置区别

    普通文件流:只能在指定位置【读取】--skip()方法,不能指定位置写入
    
    随机文件流:可以在指定位置进行【读写】,使用seek()方法
    

    5.应用区别

    普通文件流:使用普通文件流不能进行多线程复制
    
    随机读写流:可以进行多线程复制
    
    展开全文
  • excel读写流

    2016-05-08 21:09:42
    支持excel文件的读写!需要的拿去用!
  • Java 文件随机读写流 RandomAccessFile

    千次阅读 2018-09-26 11:28:55
    1、是JAVA I/O体系中功能最丰富的文件内容访问类,它提供了众多方法来访问文件内容。 2、由于可以自由访问文件的任意位置,所以如果需要访问文件的部分内容,RandomAccessFile将是更好的选择。 3、可以用来访问...

    一.简述

    1、是JAVA I/O流体系中功能最丰富的文件内容访问类,它提供了众多方法来访问文件内容。

    2、由于可以自由访问文件的任意位置,所以如果需要访问文件的部分内容,RandomAccessFile将是更好的选择。

    3、可以用来访问保存数据记录的文件,文件的记录的大小不必相同,但是其大小和位置必须是可知的。

    RandomAccessFile类中比较重要的2个方法
    
    方法名作用
    getFilePointer()返回文件记录指针的当前位置
    seek(long pos)将文件记录指针定位到pos的位置

     

    二.使用方法

    (1)java文件模型 
       在硬盘上的文件是byte byte存储的是数据的集合 
    (2)打开文件 
       两种模式 “rw”(读写) “r“(只读) 
       RandomAccessFile raf = new RandomAccessFile(file,"rw") 
       文件指针,打开文件时指针在开头pointer = 0 
    (3)写方法 
       raf.write(int) ---> 只写一个字节(后八位),同时指针指向下一个位置,准备再次写入 
    (4)读方法 
       int b = raf.read() ---->读一个字节 
    (5)关闭 
       文件读写完成以后一定要关闭(Oracle 官方说明)
    
    public static void main(String[] args) throws IOException {
            File demo = new File("demo");
            if(!demo.exists()){
                demo.mkdir();
            }
    
            File file = new File(demo,"raf.dat");
            if(!file.exists()){
                file.createNewFile();
            }
    
            RandomAccessFile raf = new RandomAccessFile(file,"rw");
            //指针位置
            System.out.println(raf.getFilePointer());
    
            //只写了一个字节
            raf.write('A');
            System.out.println(raf.getFilePointer());
            raf.write('B');
    
            int i = 0x7fffffff;
            /**
             * 用write方法每次只能写一个字节,如果要把i写进去就得写4次
             */
            raf.write(i >>> 24);
            raf.write(i >>> 16);
            raf.write(i >>> 8);
            raf.write(i );
            System.out.println(raf.getFilePointer());
    
            /**
             * writeInt  直接写入
             */
            raf.writeInt(i);
    
            String s = "中";
            byte[] gbk = s.getBytes("gbk");
            raf.write(gbk);
            System.out.println(raf.length());
    
    
            //读文件,必须把指针移到头部
            raf.seek(0);
            //一次性读取,把文件中的内容都读到字节数组中
            byte[] buf = new byte[(int)raf.length()];
            raf.read(buf);
            System.out.println(Arrays.toString(buf));
    
            raf.close();
    
        }

     

    展开全文
  • c++读写流及读写文件

    千次阅读 2015-04-02 15:50:54
    IO 标准库类型和头文件 输出缓冲区的刷新 ...用于刷新,但不在输出中添加任何字符。第二个则是比较少用的 ends,这个 操纵符在缓冲区中插入空字符 null,然后后刷新它: 388 cout cout buffer
  • node读写流以及pipe的使用

    万次阅读 2018-07-06 17:42:02
    let 一个变量,再打印出来但是这样的方法需要开辟一个新的内存,来保存这个变量当我们在网页上读取内存较大的文件时(比如视频、图片等),写入写出会极大的占用内存这时候就需要在node.js中提供给我们的——...
  • node.js读写流以及管道pipe的使用

    千次阅读 2018-09-07 10:59:49
    1、虽然我们用util.inherits从stream继承了三种的方法,但是我们依旧需要在三个函数内部使用call(this),原因是,三种的方法属于stream的私有方法,若不写call,则无法调用三种方法。 2、_read 指的是...
  • 主要介绍了nginx 如何实现读写的方法的相关资料,这里提供实例代码及如何配置,需要的朋友可以参考下
  • Java处理之高效读写的缓冲

    千次阅读 2022-04-28 12:44:56
    概述 字节缓冲 构造方法 效率测试 字符缓冲 构造方法 特有方法 文本排序练习 案例分析 案例实现
  • 1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存。 (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。 (3).在读取文件(特别是文本文件)时,也是一个字节一个...
  • 主要介绍了java 对象输入输出流读写文件的操作实例的相关资料,这里使用实现Serializable接口,需要的朋友可以参考下
  • 信息安全方面的源码,给政府做的,用读写流导出的,存在网盘,见txt中。 由于不能插u盘,只能保存在网络上。 加密源码,用程序导出来的,可以学一下里面的安全方面的计算。
  • java 视频流读写

    热门讨论 2013-03-15 17:31:56
    java 对视频格式数据的读取 JMF_demo 一个实例
  • 利用JAVA文件读写流编写的学生点名系统,当时用来作为大学课程报告写得。
  • 主要介绍了java高效文件流读写操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • delphi读写记录文件TFileStream

    热门讨论 2012-11-10 22:29:05
    delphi读写记录文件TFileStream img格式图片追加存储
  • python 内存中读写文件 作用:避免磁盘io,性能上去了 demo 图片旋转 from typing import Union from PIL import Image from io import BytesIO # BytesIO 可以开辟一段内存空间用来对Bytes类型进行IO操作 def ...
  • java中的IO各种读写流的学习

    千次阅读 2014-10-15 21:36:52
    一、过滤:使用节点作为输入或输出。过滤是使用一个已经存在的输入或输出连接创建的。  二、包装类:所谓包装类,就是可以直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量...
  • C++文件: 代码如下:fstream // 文件ifstream // 输入文件ofstream // 输出文件//创建一个文本文件并写入信息//同向屏幕上输出信息一样将信息输出至文件#include<iomanip>#include<fstream>void main(){...
  • 700M文件 1S 总结: 当缓存数组都设为1024时,读写700M文件基础FileInputStream耗时4秒,高级缓存BufferInputStream耗时1秒;然而byte数组设为10*1024时,基础和缓存耗时均为1秒。可见读写文件的效率主要取...
  • 文件读进内存,存储成内存块,从内存块读取数据重新生成文件。 文件读取和写入...很详细..
  • Hadoop系列之HDFS数据读写流(10)

    万次阅读 2021-01-23 11:26:38
    HDFS 数据读写流程 HDFS 是 Hadoop 生态里面的数据存储层,它是一个具有容错性的非常可靠的分布式文件系统。HDFS 以主从( Master / Slave )架构的方式工作,Namenode 是 Master 节点上的守护进程,而 Datanode 是 ...
  • 流读写文件的四种实现方式

    千次阅读 2020-06-28 18:50:29
    字节流读写、字节缓冲流读写、字符流读写、字符缓冲流读写,字节流读写,最简答的就不列举了 2.1:使用缓冲字节:BufferedInputStream、BufferedOutputStream包装InputStream、OutputStream 例题:读取text文件 ...
  • Qt中使用流读写文件

    千次阅读 2020-12-28 13:22:20
    总结了二进制数据和文本的文件读写方法以及注意的地方最后加上了QBuffer来配合数据流读写数据
  • 主要介绍了java IO文件的读写具体实例,有需要的朋友可以参考一下
  • 主要给大家介绍了关于Java基础教程之字符文件读写的相关资料,,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 360,514
精华内容 144,205
关键字:

读写流