【总结收藏】JAVA文件读取常用工具类
Java专栏
共 9012字,需浏览 19分钟
·
2021-07-19 02:43
点击关注公众号,Java干货及时送达
真香!24W字的Java面试手册(点击查看)
JAVA操作文件在经常会使用到,本文汇总了部分JAVA操作文件的读取常用工具类,希望可以帮到大家。直接上代码。
一、读取文件成字节
//读取文件成字节数组
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;
}
复制代码
总结
对文件的操作方式还有很多,本文使用的只是一个基础的参考示例,欢迎学习交流。感谢阅读。
如有文章对你有帮助,
欢迎关注❤️、点赞👍、转发📣!
推荐, Java面试手册 内容包括网络协议、Java基础、进阶、字符串、集合、并发、JVM、数据结构、算法、MySQL、Redis、Mongo、Spring、SpringBoot、MyBatis、SpringCloud、Linux以及各种中间件(Dubbo、Nginx、Zookeeper、MQ、Kafka、ElasticSearch)等等... 点击文末“阅读原文”可直达
评论