A. 有兩個名字一樣的java文件,怎樣比較其內容的不同地方(一個是以前寫的,一個更新的程序)有什麼方法
1、如果一個是本地文件,一個是svn伺服器上的,可以直接使用eclipse裡面svn的「比較對象」——「資源庫中的最新內容」(你的應該是英文)
2、UltraEdit中「文件」——「比較文件」,選中要比較的兩個文件即可。
B. 如何用java判斷兩個文件下的txt文件內容一致與否
請把問題描述的清楚點,「兩個文件下的txt文件」這個讓人費解。這么說吧,你的意思我版大概明白,也都知道該怎權么做,但是作為我的客戶,我一定讓你得到最滿意的答案。這樣,你按以下的目錄填空:
兩個文件名(包括路徑):1、 2、
如果一致則出現什麼結果:
不一致需要產生什麼文件:
C. java編程:再上傳文件的時候,怎樣判斷所上傳到的文件夾里有沒有跟上傳文件同名的文件,如果有的話需要在
String[] fileName =zipEntryName.split("\\."); // 文件名
outPath = (descDir+"/"+zipEntryName).replaceAll("\\*", "/");//存儲路徑
for(int i=1;i<999999999;i++){ //
File files = new File(outPath);
if(files.exists()){
outPath = (descDir+"/"+fileName[0]+"("+i+")."+fileName[1]).replaceAll("\\*", "/");
} else{
break;
}
}
//寫入文件
InputStream in = zip.getInputStream(entry);
OutputStream out = new FileOutputStream(outPath);
byte[] buf1 = new byte[1024];
int len;
while((len=in.read(buf1))>0){
out.write(buf1,0,len);
}
in.close();
out.close(); }
D. java如何快速比較兩個文件是否相同
計算或SHA-1,一樣的就是同一個文件
下面的代碼,不需要額外使用第三方組件,且支持超大文件
//計算文件的MD5值
publicstaticStringgetFileMD5(Filefile){
if(!file.isFile()){
returnnull;
}
MessageDigestdigest=null;
FileInputStreamin=null;
bytebuffer[]=newbyte[8192];
intlen;
try{
digest=MessageDigest.getInstance("MD5");
in=newFileInputStream(file);
while((len=in.read(buffer))!=-1){
digest.update(buffer,0,len);
}
BigIntegerbigInt=newBigInteger(1,digest.digest());
returnbigInt.toString(16);
}catch(Exceptione){
e.printStackTrace();
returnnull;
}finally{
try{
in.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
//計算文件的SHA-1值
publicstaticStringgetFileSha1(Filefile){
if(!file.isFile()){
returnnull;
}
MessageDigestdigest=null;
FileInputStreamin=null;
bytebuffer[]=newbyte[8192];
intlen;
try{
digest=MessageDigest.getInstance("SHA-1");
in=newFileInputStream(file);
while((len=in.read(buffer))!=-1){
digest.update(buffer,0,len);
}
BigIntegerbigInt=newBigInteger(1,digest.digest());
returnbigInt.toString(16);
}catch(Exceptione){
e.printStackTrace();
returnnull;
}finally{
try{
in.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
E. java如何判斷倆個文件是否相同的
//判斷的辦法是分別將兩個文件讀進來
//先判斷著兩個文件的長度,如果長度不一樣,那肯定不一樣
//如果兩個文件的長度(大小)一樣,那麼就對文件中的每一個位元組進行比對
//只要有一個位元組不同,兩個文件就不同。
//否則兩個文件就是相同的
//代碼如下:(JDK1.4+)(代碼格式被吃掉了,請自己手工排一下)
package 兲髙亻壬鳥飛;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Answer1 {
public static void main(String[] args) {
//文件名要用絕對路徑
//相對路徑也可以,但是容易弄錯
String fileName1 = "xxx";//寫你需要判斷的第一個文件的文件名
String fileName2 = "yyy";//寫你需要判斷的第二個文件的文件名
FileInputStream fis1 = null;
FileInputStream fis2 = null;
try {
fis1 = new FileInputStream(fileName1);
fis2 = new FileInputStream(fileName2);
int len1 = fis1.available();
int len2 = fis2.available();
if (len1 == len2) {//長度相同,則比較具體內容
//建立兩個位元組緩沖區
byte[] data1 = new byte[len1];
byte[] data2 = new byte[len2];
//分別將兩個文件的內容讀入緩沖區
fis1.read(data1);
fis2.read(data2);
//依次比較文件中的每一個位元組
for (int i=0; i<len1; i++) {
//只要有一個位元組不同,兩個文件就不一樣
if (data1[i] != data2[i]) {
System.out.println("文件內容不一樣");
return;
}
}
System.out.println("兩個文件完全相同");
} else {
//長度不一樣,文件肯定不同
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {//關閉文件流,防止內存泄漏
if (fis1 != null) {
try {
fis1.close();
} catch (IOException e) {
//忽略
e.printStackTrace();
}
}
if (fis2 != null) {
try {
fis2.close();
} catch (IOException e) {
//忽略
e.printStackTrace();
}
}
}
}
}
F. 用Java寫一個類,用來比較兩個文件夾中的文件:
給你個思路(自己仔細做做,其實不難):
1、查找兩個文件中所有的文件很簡單,使用兩個map,把文件名加上文件大小作為鍵,把文件所在的路徑加上A或者B作為值,這樣能夠得到連個map,解決問題一
2、重新定義一個map,將B文件生成的map添加進新的map,然後將A文件生成的map添加進新map(新添加的時候判斷map的健是不是已經存在,如果存在,將該鍵的值改成A文件的路徑)
3、遍歷新生成的map,如果map元素鍵對應的value中包含了B而沒有包含A就說明,這個文件在B文件夾中,而沒有在A文件夾中(可以使用contains這個方法)
G. 用java判斷d盤下,圖片名是否相同,另存為,如果相同就另存為別的名稱,這個應該用java怎麼寫!
my Chinese input is broken....
you can use file.exists() method to judge if your image name is already existed.
here is an example from my project, using SaveDialog frame.
privatevoidsaveAs()
{
if(image!=null)
{
JFileChooserjfc=newJFileChooser(".");
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
=newFileNameExtensionFilter("*.png","png");
=newFileNameExtensionFilter("*.jpg","jpg");
=newFileNameExtensionFilter("*.jpeg","jpeg");
jfc.addChoosableFileFilter(filter1);
jfc.addChoosableFileFilter(filter2);
jfc.addChoosableFileFilter(filter3);
jfc.setAcceptAllFileFilterUsed(false);
jfc.setFileFilter(filter1);
jfc.setSelectedFile(newFile("2D_Code"));
intreturnVal=jfc.showSaveDialog(MainFrame.this);
if(returnVal==JFileChooser.APPROVE_OPTION)
{
Filefile=jfc.getSelectedFile();
Stringtmp=jfc.getFileFilter().getDescription();
StringimgType=tmp.substring(tmp.lastIndexOf(".")+1,tmp.length());
Stringfilename=file.getPath()+"."+imgType;
file=newFile(filename);
if(file.exists())
{
inti=JOptionPane.showConfirmDialog(this,"Fileexists!Overwriteit?","Attention",JOptionPane.OK_OPTION);
if(i!=JOptionPane.OK_OPTION)
return;
}
try{
ImageIO.write(image,imgType,file);
JOptionPane.showMessageDialog(this,"Successfullysaved!");
}catch(IOExceptione1){
JOptionPane.showMessageDialog(this,"Failedsaving.");
e1.printStackTrace();
}
}
}
else
{
JOptionPane.showMessageDialog(this,"Noimagegenerated!");
}
}