大家好,又见面了,我是你们的朋友全栈君。
1、一次性读取整个文件内容
/** * 一次性读取全部文件数据 * @param strFile */
public static void readFile(String strFile){
try{
InputStream is = new FileInputStream(strFile);
int iAvail = is.available();
byte[] bytes = new byte[iAvail];
is.read(bytes);
logger.info("文件内容:\n" + new String(bytes));
is.close();
}catch(Exception e){
e.printStackTrace();
}
}
2、字符流按行读取文件
/** * 按行读取文件 * @param strFile */
public static void readFileByLine(String strFile){
try {
File file = new File(strFile);
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String strLine = null;
int lineCount = 1;
while(null != (strLine = bufferedReader.readLine())){
logger.info("第[" + lineCount + "]行数据:[" + strLine + "]");
lineCount++;
}
}catch(Exception e){
e.printStackTrace();
}
}
3、字节流按行读取文件
/**
* 按行读取全部文件数据
*
* @param strFile
*/
public static StringBuffer readFile(String strFile) throws IOException {
StringBuffer strSb = new StringBuffer();
InputStreamReader inStrR = new InputStreamReader(new FileInputStream(strFile), "UTF-8");
// character streams
BufferedReader br = new BufferedReader(inStrR);
String line = br.readLine();
while (line != null) {
strSb.append(line).append("\r\n");
line = br.readLine();
}
return strSb;
}
4、写文件
/**
* 写入文件
* @param fileName
* @param s
* @throws IOException
*/
public static void writeToFile(String fileName,String s) throws IOException {
File f1 = new File(fileName);
OutputStream out = null;
BufferedWriter bw = null;
if (f1.exists()) {
out = new FileOutputStream(f1);
bw = new BufferedWriter(new OutputStreamWriter(out, "utf-8"));
bw.write(s);
bw.flush();
bw.close();
} else {
System.out.println("文件不存在");
}
}
5、写文件,追加内容
/**
* 追加文件
*/
public static void writeToFileAppend(String fileName, String text) {
FileWriter fw = null;
try {
//如果文件存在,则追加内容;如果文件不存在,则创建文件
File f = new File(fileName);
fw = new FileWriter(f, true);
} catch (IOException e) {
e.printStackTrace();
}
PrintWriter pw = new PrintWriter(fw);
pw.println(text);
pw.flush();
try {
fw.flush();
pw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150422.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...