分享一个java对xml,excel,jdbc.properties,读写文件,读写图片等实现(2)

 

//查询操作jdbc.properties 
package testjdbc;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class JDBCProperties {
    public static void main(String[] args) throws IOException {
     
     jdbc_Properties("jdbc.properties");
    
    }
 public static void jdbc_Properties(String PropertiesName) throws IOException{
  Properties pro = new Properties();//属性集合对象 
//     URL url = Thread.currentThread().getContextClassLoader().getResource("prop.properties");//获取项目中文件的路径
        InputStream path =Thread.currentThread().getContextClassLoader().getResourceAsStream(PropertiesName);//获取路径并转换成流
//     FileInputStream fis = new FileInputStream("属性文件创建在电脑上");
        try {
//                 pro.load(fis);//将属性文件流装载到Properties对象中
            pro.load(path);
//                 fis.close();
            System.out.println(pro.getProperty("jdbc.default_db.driver"));
            System.out.println(pro.getProperty("jdbc.default_db.url"));
            System.out.println(pro.getProperty("jdbc.default_db.username"));
            System.out.println(pro.getProperty("jdbc.default_db.password"));
            System.out.println(pro.getProperty("jdbc.sql2000_db.driver"));
            System.out.println(pro.getProperty("jdbc.sql2000_db.url2"));
            System.out.println(pro.getProperty("jdbc.sql2000_db.username"));
            System.out.println(pro.getProperty("jdbc.sql2000_db.password"));
            /* pro.setProperty("shuzi", "1111");//往属性文件插值
            System.out.println(pro.getProperty("shuzi"));*/
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println(pro.getProperty("读取文件jdbc.properties异常"));
        }finally{
         path.close();
        }
  
 }
} 

=========================================================================================
//用定时器定时执行main方法 
package synthesizeTest;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Timer;
import ThreadTime.MyTask;
public class synthesize{
 public static void main(String[] args) throws IOException, SQLException{
  //定时器
  Timer t = new Timer(); 
     // 定义任务  
  MyTask myTask = new MyTask();
  // 设置任务的执行,5秒后开始,每5秒重复调用一次
  t.schedule(myTask, 0, 5000);
  /*
   * MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
   * 避免中文乱码要指定useUnicode和characterEncoding
   * 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
   * 下面语句之前就要先创建javademo数据库
   * */
  /*Connection conn = null;
  String sql;
        String url = "jdbc:mysql://localhost:3306/javademo?user=root&password=zhxush&useUnicode=true&characterEncoding=UTF8";
        try {
            // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
            // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
            Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
            // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
            // new com.mysql.jdbc.Driver();
            System.out.println("成功加载MySQL驱动程序");
            // 一个Connection代表一个数据库连接
            conn = DriverManager.getConnection(url);
            // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
            Statement stmt = conn.createStatement();
            sql = "create table student(id char(100),name varchar(20),age varchar(20),sex varchar(20),primary key(id))";
            int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
            if (result != -1) {
                System.out.println("创建数据表成功");
                sql = "insert into student(id,name,age,) values("+ +","+ +","+ +","+ +")";
                result = stmt.executeUpdate(sql);
                sql = "insert into student(NO,name) values('2012002','周小俊')";
                result = stmt.executeUpdate(sql);
                sql = "select * from student";
                ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
                System.out.println("id\t\t\t\t\t\t姓名\t\t年龄\t\t性别");
                while (rs.next()) {
                    System.out.println(rs.getString(1) + "\t" + rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4));// 入如果返回的是int类型可以用getInt()
                }
            }
        } catch (SQLException e) {
            System.out.println("MySQL操作错误");
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            conn.close();
        }*/
  
  
  
  
  /*//存放照片的文件路径
  File file = new File("D:/test/");
  //存放照片的文件
  File [] files = file.listFiles();
  InputStream fis = null;
  byte[] imageByteArray = null;
  //把图片写入字节流写入photo.txt
  FileWriter fileWriter=new FileWriter("D:/test/photo.txt");
  BASE64Encoder encoder = new BASE64Encoder();
  for (int i = 0; i < files.length; i++){
   //File file1 = files[i];  
   try {
    fis = new FileInputStream(files[i]);
    imageByteArray= IOUtils.toByteArray(fis);
    encoder.encode(imageByteArray);
    //System.out.println("字节流:"+encoder);
    //当文件是图片文件时将图片转换成64位字节流,然后读入photo.txt
    String fileName = files[i].getName();
    if(fileName.trim().toLowerCase().endsWith(".png")||fileName.trim().toLowerCase().endsWith(".jpg")||fileName.trim().toLowerCase().endsWith(".jpeg")) {
     //System.out.println("是图片"+i+"文件"+fileName);
     fileWriter.write(String.valueOf(encoder)+" ");
     //解码,看是否能获取图片
     BASE64Decoder decoder = new BASE64Decoder(); 
     byte[] bytes = decoder.decodeBuffer(String.valueOf(encoder));
     byteImage(bytes,path);
    }
    //System.out.println("字节流:"+fileName);
   } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }finally{
    fis.close();
    imageByteArray.clone();
   }
   
  }
  fileWriter.flush();  
  fileWriter.close();
  */
 }
 //byte数组到图片
 /*  public static void byteImage(byte[] data,String path) throws IOException{
     if(data.length<3||path.equals("")) return;
     
     //FileWriter fileWriter= new FileWriter(path);
     try{
      //FileImageOutputStream imageOutput = new FileImageOutputStream(fileWriter);
      OutputStream os = new FileOutputStream(String.valueOf(path));
      os.write(data);//将字节一个个写入文件
      //imageOutput.write(data, 0, data.length);
      //imageOutput.close();
      os.close();
      //System.out.println("地址:" + path);
     } catch(Exception ex) {
       System.out.println("Exception:" + ex);
       ex.printStackTrace();
     }
   }*/
} 
  -------------------------------------------------------
//  该处是吧图片转为64位字节符(还存在着问题) 
  package synthesizeTest;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import ThreadTime.MyTask;
public class test {
 public static void main(String[] args) {
  test myTask = new test();
  try {
   //myTask.readPhoto1();
   myTask.writePhoto();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 public void readPhoto () throws IOException{
  InputStream inputStream = new FileInputStream("D:/test/补充任务.jpg");
  OutputStream outputStream=new FileOutputStream("D:/test/补充任务1.jpg");
  BASE64Encoder encoder = new BASE64Encoder();
  byte[] imageByteArray  = new byte[inputStream.available()];
  inputStream.read(imageByteArray);
  //encoder.encode(imageByteArray);
  BASE64Decoder decoder = new BASE64Decoder();
  byte[] byteTxt = decoder.decodeBuffer(encoder.encode(imageByteArray));
  outputStream.write(byteTxt);
  inputStream.close();
  outputStream.close();
 }
 public void readPhoto1() throws IOException{
  InputStream inputStream = new FileInputStream("D:/test/补充任务.jpg");
  OutputStream outputStream=new FileOutputStream("D:/test/photo.txt");
  BASE64Encoder encoder = new BASE64Encoder();
  byte[] imageByteArray  = new byte[inputStream.available()];
  inputStream.read(imageByteArray);
  encoder.encode(imageByteArray);
  outputStream.write(imageByteArray);
  inputStream.close();
  outputStream.close();
 }
 public void writePhoto () throws IOException{
  OutputStream outputStream = new FileOutputStream("D:/test/补充任务1.jpg");
  InputStream inputStream=new FileInputStream("D:/test/photo.txt");
  byte[] imageByteArray  = new byte[inputStream.available()];
  inputStream.read(imageByteArray);
  String s = imageByteArray.toString();
  BASE64Decoder decoder = new BASE64Decoder();
  byte[] byteTxt = decoder.decodeBuffer(s);
  for (int i=0;i<byteTxt.length;++i){
   if(byteTxt[i]<0){
    byteTxt[i]+=256;
   }
  }
  outputStream.write(imageByteArray);
  inputStream.close();
  outputStream.flush();
  outputStream.close();
 }
}


--------------------------------------------------------------------
//用ireport写成模板用java生成PDF 
package PDFTest;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.tecsun.framework.unitl.Report;
public class CreatePDF {
 public static void main(String[] args){
  createPDF("D:/test/content.jasper","D:/test/");
 }
 
 public static void createPDF(String modelFile,String tempDir){
     // String modelFile = null;//模板文件路径
         //String tempDir = null;//生成pdf文件目录
         File tempDirFile = new File(tempDir);
         if (!tempDirFile.exists()) {
             tempDirFile.mkdirs();
         }
         CreatePdfVO createPdfVO = new CreatePdfVO();
         Map<String, String> reportData = new HashMap<String, String>();
         /*reportData.put("id",  CreatePDF.isEmptyStr(createPdfVO.getName())?"":createPdfVO.getName());
         reportData.put("name", CreatePDF.isEmptyStr(createPdfVO.getName())?"":createPdfVO.getName());
         reportData.put("age",  CreatePDF.isEmptyStr(createPdfVO.getName())?"":createPdfVO.getName());
         reportData.put("sex",  CreatePDF.isEmptyStr(createPdfVO.getName())?"":createPdfVO.getName());*/
         reportData.put("id",  CreatePDF.isEmptyStr(createPdfVO.getId())?"":"1");
         reportData.put("name", CreatePDF.isEmptyStr(createPdfVO.getName())?"":"张三");
         reportData.put("age",  CreatePDF.isEmptyStr(createPdfVO.getAge())?"":"20");
         reportData.put("sex",  CreatePDF.isEmptyStr(createPdfVO.getSex())?"":"女");
         //添加数据
         //String pdfPath = tempDir +"content"+new SimpleDateFormat("yyyyMMddHHmmsss").format(new Date()) + ".pdf";
         String pdfPath = tempDir +"content.pdf";
         boolean  is;
         try {
     is= Report.createPDFReport(modelFile, pdfPath, reportData);
     System.out.println("生成PDF成功!");
   } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    System.out.println("生成PDF异常!");
    
   }
  
 }
 public static boolean isEmptyStr(Object str){
        return str == null || str.toString().trim().length() < 1 ? true : false;
    }
    public static String objectToString(Object str){
        if (null == str){
            return null;
        }else{
            return str.toString();
        }
    }
    
 
}  
   ----------------------------------------------------------
//实体类
package PDFTest;
public class CreatePdfVO {
    private String id;
    private String name;
    private String age;
    private String sex;
 
 
 public String getId() {
  return id;
 }
 public void setId(String id) {
  this.id = id;
 }
 public String getAge() {
  return age;
 }
 public void setAge(String age) {
  this.age = age;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
    
    
}

================================================
//请看下一篇文章
================================================

你可能感兴趣的:(java,xml,poi,Excel,txt,IO流,读写文件,jdbc.properties,增删改查操作)