Java文件知识整理

不经常写java文件处理这部分,所以写的时候时常知识很模糊。最近因为机器学习需要处理数据集,在写java程序的时候使用了文件的知识。索性整理在这。方便以后使用。如有错误恳请指点。

基本步骤:

  • 创建【文件】            

例: File f = new File("e:\\新建文本文档.txt");

  • 创建【文件流】         

FileReader file = new FileReader(f) //文件字节(输入/输出)流               

 FileInputStream  FileOutputStream  //文件字符(输入/输出)流      

FileReader       FileWriter                                           

  •  创建文件(输入/输出)【通道】       

BufferedReader in = new BufferedReader(file);     

  • 【读】文件(通过创建的通道对象)    

in.readLine()【BufferedReader可以readLine()】

  • 【写】文件

字符写入的时候需要用flush()

  • 【关闭】通道、文件

Java的I/O读写:

  • 输入:写入内存
  • 输出:从内存取数据


I/O通道能走两种内容:1.字节      2.字符

文件输入输出流
文件字节输入/输出流 

文件字符输入/输出流 

 FileInputStream FileReader
 FileOutputStream FileWriter

 

I/O通道
 输入管道输入管道
字节流(一个字节) InputStreamOutputStream
字符流(1-3个字节)ReaderWriter
在通道上加一个缓冲区
(减少读取次数)
BufferedReaderBufferedWriter

注意:
大对象(图片等其他文件等)只能是字节流(二进制),对文字信息(推荐)用字符处理(如果用字符通道需要强制刷新,有缓存的问题 flush();)


具体步骤以及补充:

//1.构建文件  f就是对应的文件
File f=new File("路径名字(用\\)");
//2.读进来,构建管道
FileInputStream in=new FileInputStream(f);//针对文件f的输入通道
//3.读一下
int c=in.read();

//返回一个整形,因为字节流跑的内容是AscⅡ码值转成字符 (char)c;读到末尾返回-1

常用while((int c=in.read())!=-1){}判断
//4.写入(覆写和追加)
File f2......//创建
FileOutStream out=new FileOutStream(f2);//构造f2通道
out.write((char)c);
 

//5.关闭先将输入通道关闭掉
如果用字符需要强制刷新,有缓存的问题 flush();
 

//6.基于缓冲的读取
                  while((s=br.readLine)!=null)

                {
                   //需要缓冲这里涉及到回车内容  软回车(\n) 正真的回车(\r\n)   
                 } 
//7.追加内容  

FileWriter(~,true);
 

//8.解决中文转码
FileReader ff=new FileReader(new FileInputStream(f),"UTF-8");//选用字节读,指定编码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值