Java操作文件一(pdf)
一、写pdf
需要包:iText-2.1.0.jar
中文处理:iTextAsian.jar
1、HelloWorld例子
package com.my.file.pdf;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.*;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
public class HelloWorld {
public static void main(String[] args) {
//iText定义了A0-A10、AL、LETTER、 HALFLETTER、_11x17、LEDGER、NOTE、B0-B5、ARCH_A-ARCH_E、FLSA 和FLSE等纸张类型
//也可以通过 Rectangle pageSize = new Rectangle(144, 720);自定义纸张。
Rectangle rectPageSize = new Rectangle(PageSize.A4);// 定义A4页面大小
// rectPageSize = rectPageSize.rotate();// 加上这句可以实现页面的横置
// 创建一个Document对象,设置上下左右缩进
Document document = new Document(rectPageSize,50,50,50,50);
try {
// 生成名为 HelloWorld.pdf 的文档
PdfWriter.getInstance(document, new FileOutputStream("C:/HelloWorld.pdf"));
//设置中文字体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
/**
* 新建一个字体,iText的方法 STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀
* UniGB-UCS2-H 是编码,在iTextAsian.jar 中以cmap为后缀 H 代表文字版式是 横版, 相应的 V 代表
* 竖版
*/
//Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.GREEN);
Font FontChinese = new Font(bfChinese, 10F, 0);
//页脚
HeaderFooter footer = new HeaderFooter(new Phrase("第 ", FontChinese), new Phrase(" 页", FontChinese));
footer.setAlignment(1);
footer.setBottom(10F);
footer.setBorderWidth(0.0F);
document.setHeader(footer); //页头
document.setFooter(footer); //页脚
// 添加PDF文档的一些信息
document.addTitle("Hello World example");
document.addAuthor("Bruno Lowagie");
document.addSubject("This example explains how to add metadata.");
document.addKeywords("iText, Hello World, step 3, metadata");
document.addCreator("My program using iText");
// 打开文档,将要写入
相关文档:
Java ByteCode
1,什么是Bytecode
C/C++编译器把源代码编译成汇编代码,Java编译器把Java源代码编译成字节码bytecode。
Java跨平台其实就是基于相同的bytecode规范做不同平台的虚拟机,我们的Java程序编译成bytecode后就可以在不同平台跑了。
.net框架有IL(intermediate language),汇编是C/C++程序的中间表达方式, ......
面向对象程序设计共有三大特性:封装、继承、多态;
这三大特性之间相互关联,其中封装性是面向对象的基础,继承性是软件重用的关键。而多态性则必须存在于继承的环境之中,是对面向对象程序设计的补充。
封装;
Java5.0新特性;基本数据类型à封装类 封箱; 封装类à基本数据类型 拆箱;
package review;
......
就是要到sun的网站下载JDK,jdk-6u10-beta-windows-i586-p.exe,我用的是这个。
还是在sun的网站下载WTK,sun_java_wireless_toolkit-2_5_2-windows.exe,我用的这个。
然后就是先安装jdk再安装wtk,我的安装路径是:D:\Java\jdk1.6.0_10和D:\Java\WTK2.5.2
下载eclipse,我用的是:wtp-all-in-one-sdk-R-1.5.5- ......
内部类的使用的优缺点:
优点:减少了在类文件编译后的产生的字节码文件的大小
缺点:使程序结构不清晰
使用内部类的注意事项:
内部类的使用一般都与所在的外部类有一定的关联,它是在一个类的内部嵌套定义的类,它可以是其它类的成员,也可以在一个语句块的内部定义,还可以在表达式内部匿名定义(匿名内部类)。
内部 ......
//package 娱乐;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.text.DecimalFormat;
import javax.swing ......