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 ASM
我们知道Java是静态语言,而python、ruby是动态语言,Java程序一旦写好很难在运行时更改类的行为,而python、ruby可以。
不过基于bytecode层面上我们可以做一些手脚,来使Java程序多一些灵活性和Magic,ASM就是这样一个应用广泛的开源库。
ASM is a Java bytecode manipulation framework. It can be used t ......
就是要到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- ......
1.基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在
Servlet中, ......
有1亿个浮点数,请找出其中对大的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。
/**
*
*/
package com.code;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOu ......