首页 > 其他分享 >IO流小结

IO流小结

时间:2023-05-11 21:03:19浏览次数:30  
标签:字符 一次 字节 int void write IO 小结

1. 字节流

读数据

1)字节输入流 InputStream

  int read( ):一次读取一个字节

  int read( byte[] bys ):一次读取一个字节数组

1.1)FileInputStream

1.2)BufferedInputStream

写数据

1)字节输出流 OutputStream

  void write( int by ):一次写一个字节

  void write( byte[] bys,int index,int len ):一次写一个字节数组的一部分

1.1)FileOutputStream

1.2)BufferedOutputStream

小结:字节流可以复制任意文件数据,有 4 种方式,一般采用字节缓冲流一次读写一个字节数组的方式。

 


 

2. 字符流

读数据

1)字符输入流 Reader

  int read( ):一次读取一个字符

  int read( char[] chs ):一次读取一个字符数组

1.1)InputStreamReader

1.1.1)FileReader

1.2)BufferedReader

    String readLine( ):一次读取一个字符串

在字符流涉及到编码问题时,不能使用 FileReader 和 FileWriter,只能使用 InputStreamReader 和 OutputStreamWriter

 

写数据

2)字符输出流 Write

  void write( int ch ):一次写一个字符

  void write( char[] chs,int index,int len ):一次写一个字符数组的一部分

2.1)OutputStreamWriter

2.1.1)FileWriter

2.2)BufferedWriter

  void newLine( ):写一个换行符

  void write( String line ):一次写一个字符串

小结:字符流只能复制文本数据,有5种方式,一般采用字符缓冲流的特有功能(一次读/写入一个字符串)

标签:字符,一次,字节,int,void,write,IO,小结
From: https://www.cnblogs.com/Rover20230226/p/17392220.html

相关文章

  • Python协程asyncio
    在Python使用multiprocessing进行多线程和多进程操作 这篇文章中介绍了使用多线程的方式对一些I/O操作(文件读写、网络请求,这些操作不用等待其结束,在此期间可以做其他事情)进行加速。而本篇文章介绍的协程可以理解成“微线程”,不开辟其他线程,只在一个线程中执行,并且执行函数时......
  • aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected
    #解决:#1.aiohttp.TCPConnector(limit=0)=>aiohttp.TCPConnector(limit=10)#2.添加timeout=aiohttp.ClientTimeout(total=600)asyncdefget_data_main():#初始化数据库#db_utils.init_db('auto_search_uat.db')set_logging.set_get_data_log(......
  • Python range function All In One
    PythonrangefunctionAllInOnerange函数函数语法range(stop)range(start,stop[,step])参数说明:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0,5)stop:计数到stop结束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]没有......
  • python异步正则字符串替换,asyncio异步正则字符串替换re
     自然语言处理经常使用re正则模块进行字符串替换,但是文本数量特别大的时候,需要跑很久,这就需要使用asyncio异步加速处理importpandasaspdimportreimportasynciodata=pd.read_csv("guba_all_post_20230413.csv")data.dropna(inplace=True)#defreplace_betwee......
  • F. Madoka and The First Session
    F.MadokaandTheFirstSession/*首先是对权值进行处理,把每次操作都看成一个减去2就可以了这样就只需要对大家都减去一个1,最后如果有奇数或者大于0,那就一定不可以然后就是见图,对边进行建图,代表这条边只能跑一次对si=1的直接建立边就可以了si=0的需要建立中转点,因为要限制......
  • python异步字符串查找,asyncio和marisa_trie
     自然语言处理当中经常需要字符串的查找操作,比如通过查找返回字串在文本当中的位置,比如通过匹配实现的nerimportpandasaspdimportasyncio#data=pd.read_csv("guba_fc_result_20230413.csv")data=pd.read_csv("guba_all_post_20230413.csv")filename="cate_gr......
  • C# Action和Func的用法详解
    委托是一个类,定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。  把一个参数类型返回值相同方法名不同的方法当变量的方法叫委托。  为了实现程序的六大设计中的开闭原则:解耦,对修改关闭,对扩展开放。逻辑分离。  直接调用函数和使用委托调用函数......
  • web游览器的标签页仿 ios mac 苹果的墓碑机制 (js代码)
    背景:本来项目开发系统防挂机功能,在其余游览器中均可以使用。但是呢在苹果的safair游览器中会出现几率失效,最后经过排查发现是苹果的墓碑机制导致。即:此标签页活跃,其他标签页假死。然后就导致防挂机失效了。原理:假如当前游览器中有3个标签页分别是A,B,C,每个标签页都有倒计时。正......
  • questions_03 【http://127.0.0.1:8000/%5Emanage/(%3FP1%5Cd+)/dashboard/】项目id参
    【原因背景】当我们在点击进入具体项目的时候,根据我们所写的url,中间应该包含我们的项目id,当不知道什么原因可以进入项目,但是id是乱码的【原因分析】在查看相关资料后发现是我们在写path的时候出现的问题:Django2.2.x之后的版本path:用于普通路径,不需要自己手动添加正则首位......
  • ios打包ipa的四种实用方法(.app转.ipa)
    总结一下,目前.app包转为.ipa包的方法有以下几种:1、Apple推荐的方式,即实用xcode的archive功能Xcode菜单栏->Product->Archive->三选一,一般选后两个。局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦。一般多人开发时都是采用provisioningprofile+P12文......