登录|注册|帮助中心|联系我们

导航
首页 综合百科 生活常识 数码科技 明星名人 传统文化 互联网 健康 影视 美食 教育 旅游 汽车 职场 时尚 运动 游戏 家电 地理 房产 金融 节日 服饰 乐器 歌曲 动物 植物
当前位置:首页 > 互联网

java文件读取和写入(文件读写java代码)

发布时间:2023年1月6日责任编辑:张小花标签:java代码

JAVA操作文件在经常会使用到,本文汇总了部分JAVA操作文件的读取常用工具类,希望可以帮到大家。直接上代码。

一、读取文件成字节

将文件内容转为字节,需要使用到FileInputStream文件字节输入流,将文件输入到文件字节输入流中,使用FileInputStream的available()方法获取与之关联的文件的字节数,然后使用read()方法读取数据,最后记得关闭文件字节流即可。

//读取文件成字节数组 ?public static byte[] file2byte(String path){ ???????try { ???????????FileInputStream in =new FileInputStream(new File(path)); ???????????byte[] data=new byte[in.available()]; ???????????in.read(data); ???????????in.close(); ???????????return data; ???????} catch (Exception e) { ???????????e.printStackTrace(); ???????????return null; ???????} ???} 二、将字节写入文件

与一中的读取文件成字节类似,字节写入文件使用FileOutputStream流,即可将字节写入到文件中。调用FileOutputStream的write()方法,写入数据,之后关流。

//将字节数组写入文件 ?public static void byte2file(String path,byte[] data) { ???????try { ???????????FileOutputStream outputStream ?=new FileOutputStream(new File(path)); ???????????outputStream.write(data); ???????????outputStream.close(); ???????} catch (Exception e) { ???????????e.printStackTrace(); ???????} ???} 三、按行读取文件成list

经常遇到需要将一个文档中的文本按行输出,这是我们可以使用BufferedReader 和 InputStreamReader流处理。具体代码如下。

//按行读取文件成list ?public static ArrayList<String> file2list(String path,String encoder) { ???????ArrayList<String> alline=new ArrayList<String>(); ???????try { ???????????BufferedReader in =new BufferedReader(new InputStreamReader(new FileInputStream(path),encoder)); ???????????String str=new String(); ???????????while ((str=in.readLine())!=null) { ???????????????alline.add(str); ???????????} ???????????in.close(); ???????} catch (Exception e) { ???????????e.printStackTrace(); ???????} ???????return alline; ???} 四、输出list到文件 //输出list到文件 ?public static void list2file(String path,ArrayList<String> data,String encoder) { ???????try { ???????????BufferedWriter out =new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path),encoder)); ???????????for (String str:data) { ???????????????out.write(str); ???????????????out.newline(); ???????????} ???????????out.flush(); ???????????out.close(); ???????} catch (Exception e) { ???????????e.printStackTrace(); ???????} ???} 五、从标准输入中读入 ?//从标准输入中读入 ?public static String system2str() throws IOException{ ???????BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); ???????return stdin.readLine(); ???} 六、读取文件成字符串 //读取文件成字符串 ?public static String file2str(String path,String encoder){ ???????StringBuilder sb=new StringBuilder(); ???????try { ???????????BufferedReader in =new BufferedReader(new InputStreamReader(new FileInputStream(path),encoder)); ???????????String str=new String(); ???????????while ((str=in.readLine())!=null) { ???????????????sb.append(str); ???????????} ???????????in.close(); ????????} catch (Exception e) { ???????????e.printStackTrace(); ???????} ???????return sb.toString(); ???} 七、输出字符串到文件 //输出字符串到文件 ?public static void str2file(String path,String data,String encoder){ ???????try { ???????????BufferedWriter out =new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path),encoder)); ???????????out.write(data); ???????????out.flush(); ???????????out.close(); ???????} catch (Exception e) { ???????????e.printStackTrace(); ???????} ???} 八、读取文件成数据矩阵 //读取文件成数据矩阵 ?public static ArrayList<Double> file2matrix(String path){ ???????ArrayList<Double> alldata=new ArrayList<Double>(); ???????try { ???????????DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream(path))); ???????????//利用DataInputStream来读数据 ???????????while(true) ???????????{ ???????????????alldata.add(in.readDouble()); ???????????} ???????} catch (Exception e) { ???????????e.printStackTrace(); ???????} ???????return alldata; ???} 总结

对文件的操作方式还有很多,本文使用的只是一个基础的参考示例,欢迎学习交流。感谢阅读。

其它知识推荐

溜溜百科知识网——分享日常生活学习工作各类知识。 垃圾信息处理邮箱 tousu589@163.com
icp备案号 闽ICP备14012035号-2 互联网安全管理备案 不良信息举报平台 Copyright 2023 www.6za.net All Rights Reserved