java文件读取和写入(文件读写java代码)
程序员文章站
2022-09-14 18:44:51
java操作文件在经常会使用到,本文汇总了部分java操作文件的读取常用工具类,希望可以帮到大家。直接上代码。一、读取文件成字节将文件内容转为字节,需要使用到fileinputstream文件字节输入...
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;
}
总结
对文件的操作方式还有很多,本文使用的只是一个基础的参考示例,欢迎学习交流。感谢阅读。
上一篇: 微信支付回调验证签名处理