الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية الحصول على مسار مجلد أو ملف موجود في الجهاز

بدأه computer2008 في 17 يونيو 2010 · 13 رد · 906 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أعضاء ومشرفين المنتدى

لدي مشكله وأرجو من لديه خبره

أن يساعدني وجزاه الله خير وأثابه

وهي ............

أن في برمجتي للبرنامج المطلوب مني

أريد من المستخدم أن يدخل اسم

مجلد أو ملف فقط

وفي الكود يعطي المسار الموجود فيه هذا المجلد أو الكود

فمثلا يدخل المستخدم أسم المجلد أو الملف

work

وفي الكود يظهر لي المسار الموجود فيه work

C:\Users\MM\Desktop\work

بالرغم أني أستخدمت دالة ()getpath

ولكن لم تجدي معي

فأرجو المساعدة فانا في أمس الحاجه

لحل المشكله

وجزاكم اله خير وأثابكم

#2

يحتم عليك ان تقوم بعمل بحث على الملف اولا اى تقوم بعمل search ثم تقوم باستخلاص

المسار

بالفعل هذا الكود شبية بالبحث

لو لم يكن هو بحث

اختك نيرة

تم تعديل هذه المشاركة بواسطة نيرة في 17 يونيو 2010 في 11:45

#3
نيرة كتب:

يحتم عليك ان تقوم بعمل بحث على الملف اولا اى تقوم بعمل search ثم تقوم باستخلاص

المسار

بالفعل هذا الكود شبية بالبحث

لو لم يكن هو بحث

اختك نيرة

شكرا أختي نيرة

على الرد وجزاك الله خير

ولكن كيف طريقة البحث

#4

انا لست ضليعة بالجافا

و لكنى احببت ان ارشدك الى المفهوم

اذا لو لم يكن لدى الاعضاء رأى اخر

و لكنى ارى ان كود البحث بأمكانك الحصول عليه من البحث على جوجل بكل سهولة

حاول

اختك نيرة

#5

اعتقد يقوم بالمطلوب مع بعض التعديلات

import java.io.*;
import java.io.*;

import com.darwinsys.lang.GetOpt;
import com.darwinsys.util.Debug;

/**
 * Find - find files by name, size, or other criteria. Non-GUI version.
 * @author  Ian Darwin, http://www.darwinsys.com/
 * @version $Id: Find.java,v 1.6 2004/02/09 03:33:47 ian Exp $
 */
public class Find {
  /** Main program */
  public static void main(String[] args) {
    Find finder = new Find();
    GetOpt argHandler = new GetOpt("n:s:");
    int c;
    while ((c = argHandler.getopt(args)) != GetOpt.DONE) {
      switch(c) {
      case 'n': finder.filter.setNameFilter(argHandler.optarg()); break;
      case 's': finder.filter.setSizeFilter(argHandler.optarg()); break;
      default:
        System.out.println("Got: " + c);
        usage();
      }
    }
    if (args.length == 0 || argHandler.getOptInd()-1 == args.length) {
      finder.doName(".");
    } else {
      for (int i = argHandler.getOptInd()-1; i<args.length; i++)
        finder.doName(args);
    }
  }

  protected FindFilter filter = new FindFilter();

  public static void usage() {
    System.err.println(
      "Usage: Find [-n namefilter][-s sizefilter][dir...]");
    System.exit(1);
  }

  /** doName - handle one filesystem object by name */
  private void doName(String s) {
    Debug.println("flow", "doName(" + s + ")");
    File f = new File(s);
    if (!f.exists()) {
      System.out.println(s + " does not exist");
      return;
    }
    if (f.isFile())
      doFile(f);
    else if (f.isDirectory()) {
      // System.out.println("d " + f.getPath());
      String objects[] = f.list(filter);

      for (int i=0; i<objects.length; i++)
        doName(s + f.separator + objects);
    } else
      System.err.println("Unknown type: " + s);
  }

  /** doFile - process one regular file. */
  private static void doFile(File f) {
    System.out.println("f " + f.getPath());
  }
}

تم تعديل هذه المشاركة بواسطة نيرة في 17 يونيو 2010 في 12:04

#6

حضرتك بتستخدم JFileChooser ولا

بتسمح للمستخدم انه يدخل لك اسم الملف ازاى ؟

ما يمكن عندى ملف فى الـ c اسمه work

وملف تانى فى الـ D اسمه work

ياتى بأى ملف ؟؟؟

انما لو حضرتك بتستخدم JFileChooser مممكن تاخد منه مسار الملف عادى

دا كود بسيط باستخدام JFileChooser

import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

/**
 *
 * @author Mahmoud Mahrous
 */
public class FileChooser {

    public static void main(String[] ar) {
        JFileChooser fileChooser = new JFileChooser();
        int re = fileChooser.showOpenDialog(fileChooser);
        fileChooser.setVisible(true);

        String fileName = fileChooser.getSelectedFile().getPath();

        JOptionPane.showMessageDialog(null, fileName);
    }
}
1

Software Developer
Mahmoudkelany.com


 

#7
Mahmoud Kelany كتب:

حضرتك بتستخدم JFileChooser ولا

بتسمح للمستخدم انه يدخل لك اسم الملف ازاى ؟

ما يمكن عندى ملف فى الـ c اسمه work

وملف تانى فى الـ D اسمه work

ياتى بأى ملف ؟؟؟

انما لو حضرتك بتستخدم JFileChooser مممكن تاخد منه مسار الملف عادى

دا كود بسيط باستخدام JFileChooser

import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

/**
 *
 * @author Mahmoud Mahrous
 */
public class FileChooser {

    public static void main(String[] ar) {
        JFileChooser fileChooser = new JFileChooser();
        int re = fileChooser.showOpenDialog(fileChooser);
        fileChooser.setVisible(true);

        String fileName = fileChooser.getSelectedFile().getPath();

        JOptionPane.showMessageDialog(null, fileName);
    }
}

شكرا أخي على ردك

وجزاك الله خير وحقق الله مرادك

أنا قبل كنت أستخدم JFileChooser

وكود مختلف عن الموجود أعلاه

ولكن لم يعطني المطلوب

أما بالنسبه للكود الذي زودتني به أن شاء الله

أنه يكون يعطني المطلوب

ولكن المشكلة عند تشغيل الكود لايظهر فيه أي خطأ

ولكن لايوجد output

للكود

وأنا أعمل على Eclipse

تم تعديل هذه المشاركة بواسطة computer2008 في 17 يونيو 2010 في 12:35

#8
computer2008 كتب:

شكرا أخي على ردك

وجزاك الله خير وحقق الله مرادك

أنا قبل كنت أستخدم JFileChooser

وكود مختلف عن الموجود أعلاه

ولكن لم يعطني المطلوب

أما بالنسبه للكود الذي زودتني به أن شاء الله

أنه يكون يعطني المطلوب

ولكن المشكلة عند تشغيل الكود لايظهر فيه أي خطأ

ولكن لايوجد output

للكود

وأنا أعمل على Eclipse

الكود يعمل سليم جدا

اخدته ووضعته فى الـ eclipse يعمل

وهذا هو الاختبار للكود

FileChooser.rar

اى شىء تحت امرك

سلام عليكم

1

Software Developer
Mahmoudkelany.com


 

#9
Mahmoud Kelany كتب:

الكود يعمل سليم جدا

اخدته ووضعته فى الـ eclipse يعمل

وهذا هو الاختبار للكود

FileChooser.rar

اى شىء تحت امرك

سلام عليكم

السلام عليكم

أخي الفاضل

ممكن تتحمل مني بعض الاسئله

أنا أعتقد أن يكون الخطأ في طريقة أنشائي للمشروع في

Eclipse

ففضلا وليس أمرا منك

أن تخبرني كيفية أنشائك للمشروع

دمت في حفظ الرحمن ورعايته

#10
computer2008 كتب:

السلام عليكم

أخي الفاضل

ممكن تتحمل مني بعض الاسئله

أنا أعتقد أن يكون الخطأ في طريقة أنشائي للمشروع في

Eclipse

ففضلا وليس أمرا منك

أن تخبرني كيفية أنشائك للمشروع

دمت في حفظ الرحمن ورعايته

اوك

بس انت جيت اللى مش عارف حاجه فى الـ eclipse

المهم اللى انا عملته كالتالى

من قائمه File

New

Java Project

وبعدين تفتح المشروع بتاعك

وعلى الملف اللى اسمه src

بزر الفاره الايمن اعمل

New

Class

واكتب فيها الكود اللى انا وضعته ليك قبل كدا

اتمنى ان اكون شرحت ليك

وعلى فكرا هذه تانى مره استخدم الـ eclipse :)

1

Software Developer
Mahmoudkelany.com


 

#11
Mahmoud Kelany كتب:

اوك

بس انت جيت اللى مش عارف حاجه فى الـ eclipse

المهم اللى انا عملته كالتالى

من قائمه File

New

Java Project

وبعدين تفتح المشروع بتاعك

وعلى الملف اللى اسمه src

بزر الفاره الايمن اعمل

New

Class

واكتب فيها الكود اللى انا وضعته ليك قبل كدا

اتمنى ان اكون شرحت ليك

وعلى فكرا هذه تانى مره استخدم الـ eclipse :)

شكرا أخي جزاك الله خير

أبشرك ولله الحمد أشتغل معي

ولكن أنا أريده فقط أحصل على المسار للمجلد فقط

على الشكل

C:\Documents and Settings\Administrator\Desktop\FileChooser

كما هو موضح في الصوره أدناه

6hP70970.gif[/url

تم تعديل هذه المشاركة بواسطة computer2008 في 17 يونيو 2010 في 13:42

#12

بما انك تريد فقط مسار الملف

بدلا من استخدام هذ السطر

 String fileName = fileChooser.getSelectedFile().getPath();

استخدم هذا السطر

String fileName = fileChooser.getSelectedFile().getParent();

او استخدم هذا السطر بدلا منه ايضا

File fileName = fileChooser.getCurrentDirectory();

بالتوفيق ان شاء الله

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 17 يونيو 2010 في 14:04

2

Software Developer
Mahmoudkelany.com


 

#13
Mahmoud Kelany كتب:

بما انك تريد فقط مسار الملف

بدلا من استخدام هذ السطر

 String fileName = fileChooser.getSelectedFile().getPath();

استخدم هذا السطر

String fileName = fileChooser.getSelectedFile().getParent();

او استخدم هذا السطر بدلا منه ايضا

File fileName = fileChooser.getCurrentDirectory();

بالتوفيق ان شاء الله

السلام عليكم ورحمة الله وبركاته

أخي الفاضل

لايسعني أنا أقف شاكرة لك على ماقدمت لي من مساعده

فجعله الله في موازين حسناتك وأثابك الله

واعتذر أن أخذتك من وقتك لحل مشكلتي

ولكن يبقى لك الدعاء في ظهر الغيب

أختك

computer2008

#14
computer2008 كتب:

السلام عليكم ورحمة الله وبركاته

أخي الفاضل

لايسعني أنا أقف شاكرة لك على ماقدمت لي من مساعده

فجعله الله في موازين حسناتك وأثابك الله

واعتذر أن أخذتك من وقتك لحل مشكلتي

ولكن يبقى لك الدعاء في ظهر الغيب

أختك

computer2008

وعليكم السلام ورحمه الله وبركاته

الحمدلله الذى هدانا لهذا

ونحمدالله الذى علمنا ما لم نعلم

اللهم امين يارب جميعا

لا اعتذار على شىء فانا لم افعل غير ما يجب علي فعله

وفققك الله ان شاء الله

اخوكى فالله

Mahmoud Mahrous Kelany

سلام عليكم

1

Software Developer
Mahmoudkelany.com


 

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…