बराबर है, मुझे आपके बारे में पता नहीं है लेकिन कम से कम मुझे उम्मीद है कि एफ 1 नीचे दिए गए कोड में f2 के बराबर होगा लेकिन स्पष्ट रूप से यह मामला नहीं है! इसके बारे में आपके विचार क्या हैं? ऐसा लगता है कि मुझे इसका समर्थन करने के लिए अपनी खुद की बराबर विधि लिखनी है, है ना?जावा फ़ाइल
import java.io.*;
public class FileEquals
{
public static void main(String[] args)
{
File f1 = new File("./hello.txt");
File f2 = new File("hello.txt");
System.out.println("f1: " + f1.getName());
System.out.println("f2: " + f2.getName());
System.out.println("f1.equals(f2) returns " + f1.equals(f2));
System.out.println("f1.compareTo(f2) returns " + f1.compareTo(f2));
}
}
जावा 7 की पथ कक्षा के साथ ऐसा ही होता है। लेकिन Path.normalize() या Files.isSameFile() – Luciano
जैसी विधियां मौजूद हैं, आप वास्तविक आउटपुट दिखाकर कुछ समय इस प्रश्न के सभी दर्शक सुरक्षित कर सकते हैं। मैं उम्मीद कर रहा था कि 'बराबर' और 'तुलना करने के लिए' परिणामों के विपरीत थे। यह मामला नहीं है, 'बराबर' रिटर्न झूठा है और 'तुलना करने के लिए' रिटर्न -58, जिसका अर्थ है "लेक्सिकोग्राफिक" से कम "। @ लुइसियानो: ध्यान दें कि 'Files.isSameFile' इस मामले में फ़ाइलों को खोलने का प्रयास करेगा क्योंकि पथ बराबर नहीं हैं और 'NoSuchFileException' के साथ विफल हो सकते हैं। – bluenote10