文件读写二

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 InputStreamReader(new FileInputStream(File file), "UTF-8"));
   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();
   }

  }
 }
}

 

 

**
  * 创建新文件
  *
  * @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;

}

 

 

/**  
      * 创建新文件  
      */  
     public boolean CreateFile(String filePath) {   
         boolean flag = true;   
         File f = new File(filePath);   
         if (f.exists())   
             f.delete();   
         try {   
             f.createNewFile();   
         } catch (IOException e) {   
             flag = false;   
         }   
         return flag;   
     }  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值