JAVA-随机读写文件
File类通过使用 . 来获取当前路径,从而取得文件。
File f = new File(".\\Res\\Temp.txt");
或者直接使用空构造函数:
File f = new File("");
此时f.getpath()相当于当前目录。
之后读取文件可以使用流:
BufferedReader br = new BufferedReader(new FileReader(f));
来读取,其中FileReader是InputStreamReader的子类。
想清空文件内容直接使用
FileWriter fw = new FileWriter();
Fw.write("");
就可以。
如果想随机读写文件,则应当RandomAccessFile类来进行。
此类包含一个pointer可以使用seek方法改变pointer位置。
RandomAccessFile raf = new RandomAccessFile(f.getCanonicalPath(),"rws"); raf.seek(raf.length());
raf.write(bb.array());
通过这种方法实现追加写,写入时记得
Charset cs = Charset.forName("UTF-8");
ByteBuffer bb = cs.encode(cb);
变成UTF编码存入文件。
RandomAccessFile也有readbyte等方法,记得使用decode方法解决编码的问题,不然会产生乱码。 还有一点要注意就是使用seek的时候,新的写入并不是插入(Insert),而是覆写(Overwriting),写入时要多加注意。
JAVA-随机读写文件的更多相关文章
- 顺序、随机IO和Java多种读写文件性能对比
概述 对于磁盘的读写分为两种模式,顺序IO和随机IO. 随机IO存在一个寻址的过程,所以效率比较低.而顺序IO,相当于有一个物理索引,在读取的时候不需要寻找地址,效率很高. 基本流程 总体结构 我们编 ...
- java StringBuffer读写文件
java StringBuffer读写文件 StringBuffer的优势 较String:String每更新一次就会new一个新的对象出来,更新次数上去之后,内存开销太大.而StringBuffer ...
- java io读写文件
java io读写文件相关阅读:http://www.cnblogs.com/wing011203/archive/2013/05/03/3056535.html public class DemoI ...
- JAVA多线程读写文件范例
在写之前先声明,本文是基于之前在博客园网站上检索到的一份JAVA多线程读写文件的示例,我在写自己的程序时是在那位作者写的基础上做了改良,但已不记得原文的地址.如果有知情者,烦请帖出地址,我在此文上加入 ...
- java(IO)读写文件乱码转换UTF-8问题
java(IO)读写文件乱码转换UTF-8问题 读取文件 String Content = ""; // 文件很长的话建议使用StringBuffer try { FileInpu ...
- Java基础之读文件——使用通道随机读写文件(RandomReadWrite)
控制台程序,使用通道随机读写primes_backup.bin文件. import static java.nio.file.StandardOpenOption.*; import java.nio ...
- Java编程的逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- 计算机程序的思维逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库
57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但 ...
- java 随机读写访问流及seek方法
package stream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOExceptio ...
- SAE java应用读写文件(TmpFS和Storage)-----绝世好代码
近期不少java用户都在提sae读写本地文件的问题,在这里结合TmpFS和Storage服务说说java应用应该如何读写文件TmpFS是一个供应用临时读写的路径,但请求过后将被销毁.出于安全考虑,sa ...
随机推荐
- python实现多变量线性回归(Linear Regression with Multiple Variables)
本文介绍如何使用python实现多变量线性回归,文章参考NG的视频和黄海广博士的笔记 现在对房价模型增加更多的特征,例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为( x1,x2,..., ...
- kali linux live(persistence)+PE+windows7安装多启动菜单优盘制作
需要以下工具: 下载链接: 一.制作kali linux persistence 将32GU盘格式化为FAT32格式,使用win32diskimager将kalilinux镜像写入优盘,占用优盘3.4 ...
- Java Web(二) Servlet中response、request乱码问题解决
三月不减肥,五月徒伤悲,这就是我现在的状态,哈哈~ 健身.博客坚持. --WH 一.request请求参数出现的乱码问题 get请求: get请求的参数是在url后面提交过来的,也就是在请求行中, M ...
- [hadoop] - Container [xxxx] is running beyond physical/virtual memory limits.
当运行mapreduce的时候,有时候会出现异常信息,提示物理内存或者虚拟内存超出限制,默认情况下:虚拟内存是物理内存的2.1倍.异常信息类似如下: Container [pid=13026,cont ...
- mysql远程连接权限
环境:mysql6.0 .Navicat Premium 用户名:root 密码:123456 本地连接无问题 远程连接mysql的时候应该碰到Navicat Premium 报错. 错误代码是11 ...
- c++ 调用dl里的导出类
来源:http://blog.csdn.net/yysdsyl/article/details/2626033 动态dll的类导出:CPPDll2->test.h #pragma once // ...
- 关于Monkey的一切都在这里
关于Monkey的一切都在这里 版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 允许有条件转载,转载请附带底部二维码. 一.什么是Monkey Monkey是 ...
- jiayuan
8.2=http://files.cnblogs.com/files/bqh10086/jiayuan8.2pack.zip
- 了解 : prevent default
基本了解是阻止事件之前设置好的事件触发,像是angular router ui里的 preventDefault是这样的. 在$stateChange的是后,可以调用preventDefault 来阻 ...
- 每天一个linux命令(38)--lsof命令
lsof (list open files )是一个列出当前系统打开文件的工具,在Linux 环境下,任何事情都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控 ...