package common.fileOperate; import java.io.*; public class FileRw { public FileRw() { } /** * 读取文件filePath中一行的数据,并返回这个数据 * * @param filePath * @return * @throws FileNotFoundException */ public String ReadFileOneLine(String filePath) throws FileNotFoundException { String currentRecord = null;// 保存文本的变量 // 创建新的BufferedReader对象 BufferedReader file = new BufferedReader(new FileReader(filePath)); String returnStr = null; try { // 读取一行数据并保存到currentRecord变量中 currentRecord = file.readLine(); } catch (IOException e) {// 错误处理 System.out.println("读取数据错误."); } if (currentRecord == null) // 如果文件为空 returnStr = "没有任何记录"; else {// 文件不为空 returnStr = currentRecord; } // 返回读取文件的数据 return returnStr; } /** * 读取文件中的所有内容 * * @param filePath * @return * @throws FileNotFoundException */ public String ReadFile(String filePath) throws Exception { //String picturefolderurl=readpro.prop.getProperty("picturefolderurl"); File file = new File(filePath); BufferedReader reader = null; String laststr = ""; try { System.out.println("以行为单位读取文件内容,一次读一整行:"); reader = new BufferedReader(new FileReader(file)); String tempString = null; int line = 1; //一次读入一行,直到读入null为文件结束 while ((tempString = reader.readLine()) != null) { //显示行号 System.out.println("line " + line + ": " + tempString); laststr = laststr + tempString; line++; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } return laststr; } /** * 写文件操作 写为一行 * * @param filePath * 文件路径 * @param tempcon * 写入的内容 * @throws FileNotFoundException */ public void WriteFile(String filePath, String tempcon) throws FileNotFoundException { try { // 创建PrintWriter对象,用于写入数据到文件中 PrintWriter pw = new PrintWriter(new FileOutputStream(filePath)); // 用文本格式打印整数Writestr pw.println(tempcon); // 清除PrintWriter对象 pw.close(); } catch (IOException e) { // 错误处理 System.out.println("写入文件错误" + e.getMessage()); } } /** * 文件的写入 将要分行的数组以数组的形式传入 * * @param filePath(文件路径) * @param fileName(文件名) * @param args[] * @throws IOException */ public void writeFile(String filePath, String[] args) throws IOException { FileWriter fw = new FileWriter(filePath); PrintWriter out = new PrintWriter(fw); for (int i = 0; i < args.length; i++) { out.write(args[i]); out.println(); } fw.close(); out.close(); } /** * 判断文件是否存在 * * @return */ public boolean IsFileExists(String filePath) { File f = new File(filePath); if (f.exists()) {// 检查File.txt是否存在 return true; } else { return false; } } /** * 创建新文件 * * @param filePath * @return */ public boolean CreateFile(String filePath) { boolean flag = true; File f = new File(filePath); if (f.exists()) {// 检查File.txt是否存在 f.delete(); try { f.createNewFile(); } catch (IOException e) { flag = false; } } else { try { f.createNewFile(); } catch (IOException e) { flag = false; } } return false; } /** * 把要写入的字符串写到文件里面 * @param str 要写入的内容 * @param destFilePath 目标文件地址 * @throws Exception */ public static void writefilewithmqhxhtm(String str, String destFilePath) throws Exception { File temp = new File(destFilePath); DataOutputStream outs = new DataOutputStream(new FileOutputStream(temp)); outs.write(str.getBytes()); outs.close(); } /* 下面这一般你可以用来测试java应用程序来读取文件,将前面的"//"去掉后你可以运行:java FileRw 来测试。 */ public static void main(String args[]) throws Exception { FileRw fm = new FileRw(); String filepath = "c:/test.txt"; System.out.println(fm.IsFileExists(filepath)); System.out.println(fm.ReadFile(filepath)); if (!fm.IsFileExists(filepath)) { fm.CreateFile(filepath); // fm.WriteFile(filepath, "asf"); // System.out.println(fm.ReadFileOneLine(filepath)); String[] str = new String[3]; str[0] = "0=0"; str[1] = "1=1"; str[2] = "2=2"; try { fm.writeFile(filepath, str); } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } } }