楼主你好,我有简单的方法源码,你可以参考一下,如果文件不是很大,可以直接调用下面的方法:
- public byte[] ReadFile(String FileName) throws Exception { //读取文件数据到byte数组后返回
- FileInputStream in = new FileInputStream(FileName);
- DataInputStream din = new DataInputStream(in);
- //文件大小(字节)
- int length = din.available();
- if(length <= 0)
- {
- throw new Exception("文件大小为" + length + "字节,无法进行解析!");
- }
- byte[] data = new byte[length]; //存储文件的字节数据
- din.readFully(data);//读取文件到字节数组,读满数组后才返回
- din.close(); //关闭文件流
- in.close();
- return data;
- }
- public void WriteFile(String FileName, String s) throws Exception //写字符串到文件,ANSI编码
- {
- FileOutputStream out = new FileOutputStream(FileName);
- BufferedOutputStream buffout = new BufferedOutputStream(out);
- DataOutputStream dataout = new DataOutputStream(buffout);
-
- byte[] strbyte = s.getBytes("gb2312");
- for (int i = 0; i < strbyte.length; i++)
- dataout.writeByte(strbyte[i]);
- dataout.close();
- }
- public void WriteFileB(String FileName, byte[] b) throws Exception //写字节数组到文件,ANSI编码
- {
- FileOutputStream out = new FileOutputStream(FileName);
- BufferedOutputStream buffout = new BufferedOutputStream(out);
- DataOutputStream dataout = new DataOutputStream(buffout);
-
- for (int i = 0; i < b.length; i++)
- dataout.writeByte(b[i]);
- dataout.close();
- }
复制代码
你到项目里,直接调用即可,记得引入相关类包哦。
传入的文件参数可以是绝对的,也可以是相对的。
获取的是字节数组,你可以用String的new参数加编码格式换成字符串,在根据换行符号等逻辑进行转数组操作,从而获取每行信息。
下面我给出几个简单实用的实例:- String s = new String(ReadFile(FileName), "gb2312")
- String str = "abcde\r\n编写文件测试";
- WriteFile("测试.txt", str);
复制代码 |