一:读取本地文件中的内容
package readandwritefile;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class ReadFiles {
public ArrayList<String> readFile(String pathLoad) throws IOException{
//用于存放读取的内容
ArrayList<String> readLists = new ArrayList<String>();
File file = new File(pathLoad);
FileInputStream fr = new FileInputStream(file);
//控制读进来的数据的编码格式
InputStreamReader isr = new InputStreamReader(fr,"utf-8");
BufferedReader br = new BufferedReader(isr);
String str=null;
//一次读一行,如果文件内容读完返回null
while((str=br.readLine())!=null){
readLists.add(str);
}
return readLists;
}
}
二:往本地文件里写数据
package readandwritefile;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class WriteFiles {
public void writeFile(String pathLoad,String str) throws IOException{
File file = new File(pathLoad);
FileOutputStream fos = new FileOutputStream(file,true);
//控制写到文件里的数据的编码格式
OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");
BufferedWriter bw = new BufferedWriter(osw);
//把数据写到文件中
bw.write(str);
//一行数据写完,进行换行
bw.newLine();
//如果不执行flush,待写入的数据都会暂时保存在缓存中,当达到缓存默认值时,才会一次性写入到本地文件中
//执行flush,就会把每一次的数据不论大小,都写入到本地文件中
bw.flush();
//关闭流
fos.close();
bw.close();
}
}