- 浏览: 53798 次
- 性别:
- 来自: 深圳
文章分类
最新评论
文件对比
file-report layout:side-by-side &
options:display-mismatches &
output-to:%3 %1 %2
以上命令保存bc.txt
BCompare.exe @C:\bc.txt Mine\1.class Theirs\2.class Report.txt
--------------------------------------
*
* 读取char
*/
private String readtxt() throws IOException{
BufferedReader br=new BufferedReader(new FileReader("d:/sql.txt"));
String str="";
String r=br.readLine();
while(r!=null){
str+=r;
r=br.readLine();
}
return str;
}
Java代码
/*
* 读取char
*/
private String readtxt() throws IOException{
BufferedReader br=new BufferedReader(new FileReader("d:/sql.txt"));
String str="";
String r=br.readLine();
while(r!=null){
str+=r;
r=br.readLine();
}
return str;
}
Java代码
/*
* 读取char
*/
private String readtxt2() throws IOException{
String str="";
FileReader fr=new FileReader("d:/sql.txt");
char[] chars=new char[1024];
int b=0;
while((b=fr.read(chars))!=-1){
str+=String.valueOf(chars);
}
return str;
}
Java代码
/*
* 读取char
*/
private String readtxt2() throws IOException{
String str="";
FileReader fr=new FileReader("d:/sql.txt");
char[] chars=new char[1024];
int b=0;
while((b=fr.read(chars))!=-1){
str+=String.valueOf(chars);
}
return str;
}
Java代码
/*
* 读取bytes
*/
private Byte[] readtxt3() throws IOException{
InputStream input=new FileInputStream("d:/sql.txt");
byte[] b=new byte[1024];
ArrayList<Byte> lsbytes=new ArrayList<Byte>();
int n=0;
while((n=input.read(b))!=-1){
for(int i=0;i<n;i++){
lsbytes.add(b[i]);
}
}
return (Byte[])(lsbytes.toArray());
}
Java代码
/*
* 读取bytes
*/
private Byte[] readtxt3() throws IOException{
InputStream input=new FileInputStream("d:/sql.txt");
byte[] b=new byte[1024];
ArrayList<Byte> lsbytes=new ArrayList<Byte>();
int n=0;
while((n=input.read(b))!=-1){
for(int i=0;i<n;i++){
lsbytes.add(b[i]);
}
}
return (Byte[])(lsbytes.toArray());
}
---------------------------------------
File file = new File("F:\\ip.txt");
Reader reader = null;
try {
reader = new FileReader(file);
char[] charArray = new char[100];
int i = 0;
while ((i = reader.read(charArray, 0, charArray.length)) != -1) {
System.out.print(new String(charArray, 0, i));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} | 回答者: chen320320 | 三级 | 2011-8-3 10:04
public class ReadFromFile {
/**
* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
*/
public static void readFileByBytes(String fileName) {
File file = new File(fileName);
InputStream in = null;
try {
System.out.println("以字节为单位读取文件内容,一次读一个字节:");
// 一次读一个字节
in = new FileInputStream(file);
int tempbyte;
while ((tempbyte = in.read()) != -1) {
System.out.write(tempbyte);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
return;
}
try {
System.out.println("以字节为单位读取文件内容,一次读多个字节:");
// 一次读多个字节
byte[] tempbytes = new byte[100];
int byteread = 0;
in = new FileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
// 读入多个字节到字节数组中,byteread为一次读入的字节数
while ((byteread = in.read(tempbytes)) != -1) {
System.out.write(tempbytes, 0, byteread);
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e1) {
}
}
}
}
/**
* 以字符为单位读取文件,常用于读文本,数字等类型的文件
*/
public static void readFileByChars(String fileName) {
File file = new File(fileName);
Reader reader = null;
try {
System.out.println("以字符为单位读取文件内容,一次读一个字节:");
// 一次读一个字符
reader = new InputStreamReader(new FileInputStream(file));
int tempchar;
while ((tempchar = reader.read()) != -1) {
// 对于windows下,\r\n这两个字符在一起时,表示一个换行。
// 但如果这两个字符分开显示时,会换两次行。
// 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。
if (((char) tempchar) != '\r') {
System.out.print((char) tempchar);
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println("以字符为单位读取文件内容,一次读多个字节:");
// 一次读多个字符
char[] tempchars = new char[30];
int charread = 0;
reader = new InputStreamReader(new FileInputStream(fileName));
// 读入多个字符到字符数组中,charread为一次读取字符数
while ((charread = reader.read(tempchars)) != -1) {
// 同样屏蔽掉\r不显示
if ((charread == tempchars.length)
&& (tempchars[tempchars.length - 1] != '\r')) {
System.out.print(tempchars);
} else {
for (int i = 0; i < charread; i++) {
if (tempchars[i] == '\r') {
continue;
} else {
System.out.print(tempchars[i]);
}
}
}
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
/**
* 以行为单位读取文件,常用于读面向行的格式化文件
*/
public static void readFileByLines(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
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);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
你参考下把 回答者: vltava︶︺︸ | 六级 | 2011-8-3 10:16
jiu就用读取文件就可以了 回答者: flxiaoqi | 一级 | 2011-8-5 11:59
你这里的,张三,李四,王五 间隔是全角逗号,注意一下,根据需要换程序里的内容
我把里面的换成了半角的来作的。
package org.app.demo;
import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
public static void main(String[] args) throws Exception {
exexute();
}
public static void exexute() throws Exception {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("F:\\test.txt");
br = new BufferedReader(fr);
while (br.ready()) {
String line = br.readLine().trim();
String[] group = line.split("\",\"");
String[] names = group[0].split(",");
for (int i = 0; i < names.length; i++) {
String name = names[i];
if (i == 0) {
name = names[i] + "\"";
} else {
name = "\"" + names[i] + "\"";
}
System.out.println(name + ",\"" + group[1] + ",\""
+ group[2]);
}
}
} catch (Exception e) {
} finally {
if (br != null) {
br.close();
}
if (fr != null) {
br.close();
}
}
}
}
----------------------------------------------------------------------------------------------------
结果
----------------------------------------------
下边是在项目用到的压缩解压class ,粘出来,分享。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.CRC32;
import java.util.zip.CheckedInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import org.apache.commons.lang.StringUtils;
public class ZipTool {
private static final int BUFFER = 2048;
private int level;
public ZipTool() {
level = 0;
}
/**
* setLevel
* @param level int
*/
public void setLevel(int level) {
this.level = level;
}
/**
* zip a File or Directory
* @param inputFile File
* @param outputFile File
* @throws ZipException
*/
public void zipFile(File inputFile, File outputFile) throws ZipException {
try {
BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(
outputFile), BUFFER);
ZipOutputStream out = new ZipOutputStream(bout);
zip(out, inputFile, inputFile.getName());
out.close();
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
}
/**
* zip some Files
* @param inputFiles File[]
* @param outputFile File
* @throws ZipException
*/
public void zipFiles(File[] inputFiles, File outputFile) throws ZipException {
try {
BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(outputFile),
BUFFER);
ZipOutputStream out = new ZipOutputStream(bout);
for (int i = 0; i < inputFiles.length; i++) {
zip(out, inputFiles[i], inputFiles[i].getName());
}
out.close();
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
}
/**
* unzip a File
*
* @param inputFile File
* @param outputFile File
* @throws ZipException
*/
public void unZipFile(File inputFile, File outputFile) throws ZipException {
try {
FileInputStream tin = new FileInputStream(inputFile);
CheckedInputStream cin = new CheckedInputStream(tin, new CRC32());
BufferedInputStream bufferIn = new BufferedInputStream(cin, BUFFER);
ZipInputStream in = new ZipInputStream(bufferIn);
ZipEntry z = in.getNextEntry();
while (z != null) {
String name = z.getName();
if (z.isDirectory()) {
File f = new File(outputFile.getPath() + File.separator + name);
f.mkdir();
}
else {
File f = new File(outputFile.getPath() + File.separator + name);
f.createNewFile();
FileOutputStream out = new FileOutputStream(f);
byte data[] = new byte[BUFFER];
int b;
while ( (b = in.read(data, 0, BUFFER)) != -1) {
out.write(data, 0, b);
}
out.close();
}
z = in.getNextEntry();
}
in.close();
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
}
private void zip(ZipOutputStream out, File f, String base) throws
FileNotFoundException, ZipException {
if (level != 0) {
out.setLevel(level);
}
if (f.isDirectory()) {
zipDirectory(out, f, base);
}
else {
if (StringUtils.isEmpty(base)) {
base = f.getName();
}
zipLeapFile(out, f, base);
}
}
private void zipDirectory(ZipOutputStream out, File f, String base) throws
FileNotFoundException, ZipException {
File[] files = f.listFiles();
if (level != 0) {
out.setLevel(level);
}
try {
out.putNextEntry(new ZipEntry(base + "/"));
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
if (StringUtils.isEmpty(base)) {
base = new String();
}
else {
base = base + "/";
}
for (int i = 0; i < files.length; i++) {
zip(out, files[i], base + files[i].getName());
}
}
private void zipLeapFile(ZipOutputStream out, File f, String base) throws
FileNotFoundException, ZipException {
if (level != 0) {
out.setLevel(level);
}
try {
out.putNextEntry(new ZipEntry(base));
FileInputStream in = new FileInputStream(f);
BufferedInputStream bufferIn = new BufferedInputStream(in, BUFFER);
byte[] data = new byte[BUFFER];
int b;
while ( (b = bufferIn.read(data, 0, BUFFER)) != -1) {
out.write(data, 0, b);
}
bufferIn.close();
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
}
}
-----------------------------------------------------------
在ant脚本中对外部ant任务的调用,在多项目管理中特别有用。两种方法总结一下:
使用antfile、使用exec
一:使用antfile
<target name="copy_lib" description="Copy library files from project1 to project2">
<ant antfile="build.xml"
dir="${project1dir}"
inheritall="false"
inheritrefs="false"
target="copy_to_project2_lib"
/>
</target>
antfile表示子项目的构建文件。
dir表示构建文件所再的目录,缺省为当前目录。
inheritall表示父项目的所有属性在子项目中都可使用,并覆盖子项目中的同名属性。缺省为true。
inheritrefs表示父项目中的所有引用在子项目中都可以使用,并且不覆盖子项目中的同名引用。缺省为false。
如果在ant任务中显示的定义引用,如上例<reference refid="filter.set">则该引用将会覆盖子项目中的同名引用。
target表示所要运行的子项目中的target,如果不写则为缺省target。
二:使用exec
<target name="copy_lib" description="Copy library files from project1 to project2">
<exec executable="cmd.exe">
<arg line="/c "cd ..\project1 && ant copy_to_project2_lib " "/>
</exec>
</target>
翻译为命令行就是:cmd.exe /c "cd ..\project && ant copy_to_project2_lib"
意思是直接调用系统控制台,先执行cd命令,再执行ant脚本指定任务,/c 表示执行后续 String 指定的命令,然后停止。
arg中的值不能直接使用双引号, 否则会出错. 请使用xml中双引号的描述符 "代替
http://sanmaoyouxiao.iteye.com/blog/82888
http://snowolf.iteye.com/blog/642492
T t = new T();
t.setA(new String[]{"123","32"});
Field f[] = t.getClass().getDeclaredFields();
for (int i=0;i<f.length ; i++)
{
System.out.println(f[i].getName());
String name = f[i].getName();
name = "get"+ name.substring(0,1).toUpperCase()+name.substring(1);
Method met = t.getClass().getMethod(name, null);
Object o = met.invoke(t, null);
Class c = o.getClass().getComponentType();
Object a = Array.newInstance(c,Array.getLength(o) );
System.out.println("----"+c.getName());
}
options:display-mismatches &
output-to:%3 %1 %2
以上命令保存bc.txt
BCompare.exe @C:\bc.txt Mine\1.class Theirs\2.class Report.txt
--------------------------------------
*
* 读取char
*/
private String readtxt() throws IOException{
BufferedReader br=new BufferedReader(new FileReader("d:/sql.txt"));
String str="";
String r=br.readLine();
while(r!=null){
str+=r;
r=br.readLine();
}
return str;
}
Java代码
/*
* 读取char
*/
private String readtxt() throws IOException{
BufferedReader br=new BufferedReader(new FileReader("d:/sql.txt"));
String str="";
String r=br.readLine();
while(r!=null){
str+=r;
r=br.readLine();
}
return str;
}
Java代码
/*
* 读取char
*/
private String readtxt2() throws IOException{
String str="";
FileReader fr=new FileReader("d:/sql.txt");
char[] chars=new char[1024];
int b=0;
while((b=fr.read(chars))!=-1){
str+=String.valueOf(chars);
}
return str;
}
Java代码
/*
* 读取char
*/
private String readtxt2() throws IOException{
String str="";
FileReader fr=new FileReader("d:/sql.txt");
char[] chars=new char[1024];
int b=0;
while((b=fr.read(chars))!=-1){
str+=String.valueOf(chars);
}
return str;
}
Java代码
/*
* 读取bytes
*/
private Byte[] readtxt3() throws IOException{
InputStream input=new FileInputStream("d:/sql.txt");
byte[] b=new byte[1024];
ArrayList<Byte> lsbytes=new ArrayList<Byte>();
int n=0;
while((n=input.read(b))!=-1){
for(int i=0;i<n;i++){
lsbytes.add(b[i]);
}
}
return (Byte[])(lsbytes.toArray());
}
Java代码
/*
* 读取bytes
*/
private Byte[] readtxt3() throws IOException{
InputStream input=new FileInputStream("d:/sql.txt");
byte[] b=new byte[1024];
ArrayList<Byte> lsbytes=new ArrayList<Byte>();
int n=0;
while((n=input.read(b))!=-1){
for(int i=0;i<n;i++){
lsbytes.add(b[i]);
}
}
return (Byte[])(lsbytes.toArray());
}
---------------------------------------
File file = new File("F:\\ip.txt");
Reader reader = null;
try {
reader = new FileReader(file);
char[] charArray = new char[100];
int i = 0;
while ((i = reader.read(charArray, 0, charArray.length)) != -1) {
System.out.print(new String(charArray, 0, i));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} | 回答者: chen320320 | 三级 | 2011-8-3 10:04
public class ReadFromFile {
/**
* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
*/
public static void readFileByBytes(String fileName) {
File file = new File(fileName);
InputStream in = null;
try {
System.out.println("以字节为单位读取文件内容,一次读一个字节:");
// 一次读一个字节
in = new FileInputStream(file);
int tempbyte;
while ((tempbyte = in.read()) != -1) {
System.out.write(tempbyte);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
return;
}
try {
System.out.println("以字节为单位读取文件内容,一次读多个字节:");
// 一次读多个字节
byte[] tempbytes = new byte[100];
int byteread = 0;
in = new FileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
// 读入多个字节到字节数组中,byteread为一次读入的字节数
while ((byteread = in.read(tempbytes)) != -1) {
System.out.write(tempbytes, 0, byteread);
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e1) {
}
}
}
}
/**
* 以字符为单位读取文件,常用于读文本,数字等类型的文件
*/
public static void readFileByChars(String fileName) {
File file = new File(fileName);
Reader reader = null;
try {
System.out.println("以字符为单位读取文件内容,一次读一个字节:");
// 一次读一个字符
reader = new InputStreamReader(new FileInputStream(file));
int tempchar;
while ((tempchar = reader.read()) != -1) {
// 对于windows下,\r\n这两个字符在一起时,表示一个换行。
// 但如果这两个字符分开显示时,会换两次行。
// 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。
if (((char) tempchar) != '\r') {
System.out.print((char) tempchar);
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println("以字符为单位读取文件内容,一次读多个字节:");
// 一次读多个字符
char[] tempchars = new char[30];
int charread = 0;
reader = new InputStreamReader(new FileInputStream(fileName));
// 读入多个字符到字符数组中,charread为一次读取字符数
while ((charread = reader.read(tempchars)) != -1) {
// 同样屏蔽掉\r不显示
if ((charread == tempchars.length)
&& (tempchars[tempchars.length - 1] != '\r')) {
System.out.print(tempchars);
} else {
for (int i = 0; i < charread; i++) {
if (tempchars[i] == '\r') {
continue;
} else {
System.out.print(tempchars[i]);
}
}
}
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
/**
* 以行为单位读取文件,常用于读面向行的格式化文件
*/
public static void readFileByLines(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
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);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
你参考下把 回答者: vltava︶︺︸ | 六级 | 2011-8-3 10:16
jiu就用读取文件就可以了 回答者: flxiaoqi | 一级 | 2011-8-5 11:59
你这里的,张三,李四,王五 间隔是全角逗号,注意一下,根据需要换程序里的内容
我把里面的换成了半角的来作的。
package org.app.demo;
import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
public static void main(String[] args) throws Exception {
exexute();
}
public static void exexute() throws Exception {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("F:\\test.txt");
br = new BufferedReader(fr);
while (br.ready()) {
String line = br.readLine().trim();
String[] group = line.split("\",\"");
String[] names = group[0].split(",");
for (int i = 0; i < names.length; i++) {
String name = names[i];
if (i == 0) {
name = names[i] + "\"";
} else {
name = "\"" + names[i] + "\"";
}
System.out.println(name + ",\"" + group[1] + ",\""
+ group[2]);
}
}
} catch (Exception e) {
} finally {
if (br != null) {
br.close();
}
if (fr != null) {
br.close();
}
}
}
}
----------------------------------------------------------------------------------------------------
结果
----------------------------------------------
下边是在项目用到的压缩解压class ,粘出来,分享。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.CRC32;
import java.util.zip.CheckedInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import org.apache.commons.lang.StringUtils;
public class ZipTool {
private static final int BUFFER = 2048;
private int level;
public ZipTool() {
level = 0;
}
/**
* setLevel
* @param level int
*/
public void setLevel(int level) {
this.level = level;
}
/**
* zip a File or Directory
* @param inputFile File
* @param outputFile File
* @throws ZipException
*/
public void zipFile(File inputFile, File outputFile) throws ZipException {
try {
BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(
outputFile), BUFFER);
ZipOutputStream out = new ZipOutputStream(bout);
zip(out, inputFile, inputFile.getName());
out.close();
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
}
/**
* zip some Files
* @param inputFiles File[]
* @param outputFile File
* @throws ZipException
*/
public void zipFiles(File[] inputFiles, File outputFile) throws ZipException {
try {
BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(outputFile),
BUFFER);
ZipOutputStream out = new ZipOutputStream(bout);
for (int i = 0; i < inputFiles.length; i++) {
zip(out, inputFiles[i], inputFiles[i].getName());
}
out.close();
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
}
/**
* unzip a File
*
* @param inputFile File
* @param outputFile File
* @throws ZipException
*/
public void unZipFile(File inputFile, File outputFile) throws ZipException {
try {
FileInputStream tin = new FileInputStream(inputFile);
CheckedInputStream cin = new CheckedInputStream(tin, new CRC32());
BufferedInputStream bufferIn = new BufferedInputStream(cin, BUFFER);
ZipInputStream in = new ZipInputStream(bufferIn);
ZipEntry z = in.getNextEntry();
while (z != null) {
String name = z.getName();
if (z.isDirectory()) {
File f = new File(outputFile.getPath() + File.separator + name);
f.mkdir();
}
else {
File f = new File(outputFile.getPath() + File.separator + name);
f.createNewFile();
FileOutputStream out = new FileOutputStream(f);
byte data[] = new byte[BUFFER];
int b;
while ( (b = in.read(data, 0, BUFFER)) != -1) {
out.write(data, 0, b);
}
out.close();
}
z = in.getNextEntry();
}
in.close();
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
}
private void zip(ZipOutputStream out, File f, String base) throws
FileNotFoundException, ZipException {
if (level != 0) {
out.setLevel(level);
}
if (f.isDirectory()) {
zipDirectory(out, f, base);
}
else {
if (StringUtils.isEmpty(base)) {
base = f.getName();
}
zipLeapFile(out, f, base);
}
}
private void zipDirectory(ZipOutputStream out, File f, String base) throws
FileNotFoundException, ZipException {
File[] files = f.listFiles();
if (level != 0) {
out.setLevel(level);
}
try {
out.putNextEntry(new ZipEntry(base + "/"));
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
if (StringUtils.isEmpty(base)) {
base = new String();
}
else {
base = base + "/";
}
for (int i = 0; i < files.length; i++) {
zip(out, files[i], base + files[i].getName());
}
}
private void zipLeapFile(ZipOutputStream out, File f, String base) throws
FileNotFoundException, ZipException {
if (level != 0) {
out.setLevel(level);
}
try {
out.putNextEntry(new ZipEntry(base));
FileInputStream in = new FileInputStream(f);
BufferedInputStream bufferIn = new BufferedInputStream(in, BUFFER);
byte[] data = new byte[BUFFER];
int b;
while ( (b = bufferIn.read(data, 0, BUFFER)) != -1) {
out.write(data, 0, b);
}
bufferIn.close();
}
catch (IOException ex) {
throw new ZipException(ex.getMessage());
}
}
}
-----------------------------------------------------------
在ant脚本中对外部ant任务的调用,在多项目管理中特别有用。两种方法总结一下:
使用antfile、使用exec
一:使用antfile
<target name="copy_lib" description="Copy library files from project1 to project2">
<ant antfile="build.xml"
dir="${project1dir}"
inheritall="false"
inheritrefs="false"
target="copy_to_project2_lib"
/>
</target>
antfile表示子项目的构建文件。
dir表示构建文件所再的目录,缺省为当前目录。
inheritall表示父项目的所有属性在子项目中都可使用,并覆盖子项目中的同名属性。缺省为true。
inheritrefs表示父项目中的所有引用在子项目中都可以使用,并且不覆盖子项目中的同名引用。缺省为false。
如果在ant任务中显示的定义引用,如上例<reference refid="filter.set">则该引用将会覆盖子项目中的同名引用。
target表示所要运行的子项目中的target,如果不写则为缺省target。
二:使用exec
<target name="copy_lib" description="Copy library files from project1 to project2">
<exec executable="cmd.exe">
<arg line="/c "cd ..\project1 && ant copy_to_project2_lib " "/>
</exec>
</target>
翻译为命令行就是:cmd.exe /c "cd ..\project && ant copy_to_project2_lib"
意思是直接调用系统控制台,先执行cd命令,再执行ant脚本指定任务,/c 表示执行后续 String 指定的命令,然后停止。
arg中的值不能直接使用双引号, 否则会出错. 请使用xml中双引号的描述符 "代替
http://sanmaoyouxiao.iteye.com/blog/82888
http://snowolf.iteye.com/blog/642492
T t = new T();
t.setA(new String[]{"123","32"});
Field f[] = t.getClass().getDeclaredFields();
for (int i=0;i<f.length ; i++)
{
System.out.println(f[i].getName());
String name = f[i].getName();
name = "get"+ name.substring(0,1).toUpperCase()+name.substring(1);
Method met = t.getClass().getMethod(name, null);
Object o = met.invoke(t, null);
Class c = o.getClass().getComponentType();
Object a = Array.newInstance(c,Array.getLength(o) );
System.out.println("----"+c.getName());
}
- 750784335ant-reference.rar (3.7 MB)
- 下载次数: 1
- antbook-examples-2007-06-20.rar (6.2 MB)
- 下载次数: 1
- taskdef.rar (55.2 KB)
- 下载次数: 1
- build.rar (326.5 KB)
- 下载次数: 1
- i386_为复杂文字和从右到左语言的安装文件.rar (4.1 MB)
- 下载次数: 1
- jd-gui-0.3.5.windows.zip (771 KB)
- 下载次数: 3
- jdeclipse_update_site.zip (2.6 MB)
- 下载次数: 2
- BCompare-zh-3.3.5.15075.rar (5.5 MB)
- 下载次数: 4
- tomcat_https.rar (561.3 KB)
- 下载次数: 0
评论
9 楼
rooi
2013-07-30
awk -F'\\\||\\\|\\\[|],\\\[|]$' '{print $1 $2 $3 }' tmp.txt
8 楼
rooi
2012-12-07
http://blog.csdn.net/kai_wei_zhang/article/details/8250299
7 楼
rooi
2012-11-06
:GetTempName
set tmpfile=%TMP%.\Jad-%RANDOM%-%TIME:~6,5%.tmp
if exist "%tmpfile%" goto :GetTempName
Helpers\Java\jad.exe -p %1 > "%tmpfile%"
for %%F in (%tmpfile%) do set size=%%~zF
if /I %size% equ 0 goto :SkipJalopy
native2ascii -reverse "%tmpfile%" %2
:SkipJalopy
del "%tmpfile%"
set tmpfile=%TMP%.\Jad-%RANDOM%-%TIME:~6,5%.tmp
if exist "%tmpfile%" goto :GetTempName
Helpers\Java\jad.exe -p %1 > "%tmpfile%"
for %%F in (%tmpfile%) do set size=%%~zF
if /I %size% equ 0 goto :SkipJalopy
native2ascii -reverse "%tmpfile%" %2
:SkipJalopy
del "%tmpfile%"
6 楼
rooi
2012-09-27
:GetTempName
set tmpfile=%TMP%.\Jad-%RANDOM%-%TIME:~6,5%.tmp
if exist "%tmpfile%" goto :GetTempName
Helpers\Java\jad.exe -p %1 > "%tmpfile%"
for %%F in (%tmpfile%) do set size=%%~zF
if /I %size% equ 0 goto :SkipJalopy
native2ascii -reverse "%tmpfile%" %2
:SkipJalopy
del "%tmpfile%"
set tmpfile=%TMP%.\Jad-%RANDOM%-%TIME:~6,5%.tmp
if exist "%tmpfile%" goto :GetTempName
Helpers\Java\jad.exe -p %1 > "%tmpfile%"
for %%F in (%tmpfile%) do set size=%%~zF
if /I %size% equ 0 goto :SkipJalopy
native2ascii -reverse "%tmpfile%" %2
:SkipJalopy
del "%tmpfile%"
5 楼
rooi
2012-01-17
ProcessBuilder builder = new ProcessBuilder("cmd", "/c", "BCompare.exe","@bc.txt","/silent");
builder.directory(new File("D:\\Program Files\\Beyond Compare 3"));
try
{
Process process = builder.start() ;
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
builder.directory(new File("D:\\Program Files\\Beyond Compare 3"));
try
{
Process process = builder.start() ;
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
4 楼
idomon3
2011-09-12
eclipse的java编译器命令行
http://blog.csdn.net/yxf/article/details/1600351
eclipse 帮助
http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm
http://blog.csdn.net/yxf/article/details/1600351
eclipse 帮助
http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm
3 楼
idomon3
2011-09-04
jad -o -p -dMine -sjava MyTree.class>test.java
2 楼
idomon3
2011-09-04
http://blog.csdn.net/shibenjie/article/details/4242864
1 楼
rooi
2011-08-23
Document doc = Jsoup.parse("<img src='/images.png'/>");
Element span = doc.select("img").first(); // <span>One</span>
span.wrap("<a href='http://example.com/'></a>");
System.out.println(doc.html());
Element span = doc.select("img").first(); // <span>One</span>
span.wrap("<a href='http://example.com/'></a>");
System.out.println(doc.html());
相关推荐
在使用通用的文件比较工具如Beyond Compare进行ini文件对比时,可能会遇到一些挑战。由于ini文件的结构特性,当section或item的位置发生变化,通用工具可能无法准确识别这些变化,导致比较结果不直观或者误导用户。...
标题中的“二进制文件/PE文件对比工具非常好用”表明我们讨论的是一款用于比较二进制文件,特别是PE(Portable Executable)格式文件的工具。PE文件是Windows操作系统上执行程序的标准格式,包括DLL动态链接库和EXE...
"文件对比器"是一种强大的工具,它主要用于比较两个或多个文件之间的差异,以便用户能够快速识别和理解它们的内容区别。在软件开发过程中,这样的工具至关重要,尤其是对于C++、Java和Web开发等领域,因为程序员经常...
"bin文件对比工具"是专门用于比较两个bin文件差异的软件,这对于固件开发、系统调试以及数据恢复等工作至关重要。本文将深入探讨bin文件的性质、bin文件对比的必要性以及Fairdell HexCmp2这款工具的功能与使用。 ...
在二进制模式下,工具会逐字节对比两个文件的内容,以确定它们是否完全相同。这对于检查程序的编译结果、验证软件更新的完整性或查找硬盘上的损坏文件非常有用。例如,"beycomp.exe" 可能就是这样一个二进制文件比较...
Qt5.9 提供了一个强大的文件比较工具,允许用户在不同场景下对文件进行对比分析。本文将深入探讨这个工具的实现原理、功能特性和使用方法。 首先,Qt 是一个跨平台的应用程序开发框架,支持Windows、Linux、macOS等...
在C#编程中,文件比较是一项常见的任务,用于检测两个文件的内容是否一致。这在很多场景下都很有用,比如版本控制、数据验证或者备份检查等。下面我们将详细探讨如何使用C#来实现这个功能。 首先,我们需要理解文件...
"dump文件对比软件"是指能够帮助用户比较两个或多个dump文件,找出内存状态差异的工具。这类软件可以帮助开发者定位代码中的错误或者性能瓶颈,尤其是在多版本迭代或者问题复现时。例如,WinDbg、Visual Studio、...
本文将深入探讨如何使用这些技术实现在线文件对比功能。 首先,HTML(HyperText Markup Language)是网页内容的结构化语言,负责定义页面的布局和元素。在Mergely这样的在线对比工具中,HTML用于创建用户界面,包括...
总的来说,HEX和BIN文件对比工具是嵌入式开发中的利器,特别是在STM32这样的单片机项目中。它不仅简化了文件的比较过程,还提升了开发效率,降低了因错误更新导致的问题。了解并熟练使用这样的工具,是提升嵌入式...
1. **目录对比**:TotalCommander不仅限于文件对比,还可以比较整个目录的结构和内容,找出文件夹间的差异,这对于备份验证或同步操作极其便利。 2. **自定义设置**:用户可以根据自己的需求调整对比设置,例如设置...
WinMerge以其直观的用户界面和高效的对比功能,使得文件比较和合并变得轻松高效。 1. **基本功能**: - **文件比较**:WinMerge能够对比两个文本文件或二进制文件的内容,高亮显示差异之处,方便开发者识别和理解...
在Windows操作系统中,文件比较器是一种非常实用的工具,它能够帮助用户检查两个或多个文件之间的差异,确保数据的一致性和准确性。...只要善用这类工具,就能在日常工作和生活中轻松应对各种文件对比的需求。
Java文件对比工具是一种用于比较两个或多个文件之间差异的实用程序,特别适用于编程环境中检查代码间的相似性或差异。在Java开发中,这样的工具能够帮助开发者有效地定位代码修改的地方,协同工作时解决合并冲突,...
文件对比是IT领域中一项非常实用的技术,尤其对于开发者、数据分析师和系统管理员而言,它可以帮助用户快速识别两个或多个文件或目录之间的差异。标题提到的“超好用的文件对比工具”显然是一款专为此目的设计的应用...
总之,文件比较是IT工作中的重要工具,而Beyond Compare 3以其丰富的功能和易用性,成为许多专业人士首选的文件对比软件。熟练掌握文件比较技术,无论是对于代码调试、版本管理还是数据验证,都能显著提高工作效率,...
**文件比较工具WinMerge** WinMerge是一款强大的文件和文件夹比较工具,专为Windows操作系统设计。它可以帮助用户在两个不同的文件或目录之间进行差异分析,从而实现文件的合并、同步和版本控制。这款软件广泛应用...
在Windows操作系统中,进行文件对比是一项非常常见的任务,特别是在版本控制、代码审查或者文档校对时。DF.exe是一款专为Windows设计的文件对比工具,它能够帮助用户快速、直观地发现两个文件之间的差异,功能类似于...
"文件比较器绿色便携版"是一款用于比较文件和文件夹内容的实用工具,它具有高效、安全的特点,无需安装,直接运行即可使用。这款软件的亮点在于其绿色无污染,不含任何恶意插件、病毒或广告,用户可以安心地在自己的...