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();
}
}
6、读取子目录所有文件
/**
* 读取所有子文件
* @param dirPath
* @param allFileList
*/
public static void getAllFile(File dirPath, List<File> allFileList) {
File[] fileList = dirPath.listFiles();
assert fileList != null;
for (File file : fileList) {
if (file.isDirectory()) {
getAllFile(file, allFileList);
} else {
allFileList.add(file);
}
}
}
今天的文章java读写文件_Java读取本地文件内容分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72148.html