Skip to content

اردیبهشت ۲۱, ۱۳۹۰

نمونه برنامه خواندن و نوشتن در فایل متنی در جاوا

کد در ادامه ی مطلب

import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.IOException;

public class ReadWriteTextFile {

private static void doReadWriteTextFile() {

try {

// input/output file names
String inputFileName = "README_InputFile.txt";
String outputFileName = "ReadWriteTextFile.out";

// Create FileReader Object
FileReader inputFileReader = new FileReader(inputFileName);
FileWriter outputFileReader = new FileWriter(outputFileName);

// Create Buffered/PrintWriter Objects
BufferedReader inputStream = new BufferedReader(inputFileReader);
PrintWriter outputStream = new PrintWriter(outputFileReader);

// Keep in mind that all of the above statements can be combined
// into the following:
//BufferedReader inputStream = new BufferedReader(new FileReader("README_InputFile.txt"));
//PrintWriter outputStream = new PrintWriter(new FileWriter("ReadWriteTextFile.out"));

outputStream.println("+---------- Testing output to a file ----------+");
outputStream.println();

String inLine = null;

while ((inLine = inputStream.readLine()) != null) {
outputStream.println(inLine);
}

outputStream.println();
outputStream.println("+---------- Testing output to a file ----------+");

outputStream.close();
inputStream.close();

} catch (IOException e) {

System.out.println("IOException:");
e.printStackTrace();

}

}

/**
* Sole entry point to the class and application.
* @param args Array of String arguments.
*/
public static void main(String[] args) {
doReadWriteTextFile();
}

}


مطالب بیشتر در J2SE
۱۳ نظر ارسال نظر
  1. محدثه
    تیر ۲۰ ۱۳۹۳

    سلام.من کدی رو لازم دارم که بتونه تا چهار لایه وارد فولدر بشه به صورت درختی پیمایش کنه تا بعد از چهار فولدر به فایل های توی فولدر نهایی برسه و تعداد آنها را به همراه اسمشان برگرداند وبترتیب همچنین فولدرهای بعدی و فایلهای درون آنها
    این کدرو نوشتم ولی مشکلم اینه که نحوه تشخیص فایل از فولدر رو نمیدونم چطور بنویسم برنامه تا هزار تا فولدر موجود رو بافایلهای درون آنها برمیگردونه ولی چون چهارلایه ای هست اگه زودتر از چهار فولدر در فولدر دوم فایل باشه ارور میده چون چهارلایه کامل نمیشه
    (تعداد زیادی فولدر هست که توهرکدوم سه فولدر دیگه وتواخری هم تعدادی فایل ،میخوام تعداد فایل ها و فولدر ها رو بااسامی برگردونه و بدونم ماکزیمم تعداد فایلها چه تعدادیه )

    public static void main(String[] args) {
    // TODO code application logic here
    int [] a =new int[10000];
    int h=0;
    String[] dir1;
    String[] dir2;
    String[] dir = new java.io.File(“Z:\\kargozini\\PERSENEL”).list();
    for (int i=0;i<dir.length;i++) {
    dir1= new java.io.File("Z:\\kargozini\\PERSENEL\\" + dir[i]).list();
    for (int j=0;j<dir1.length;j++ ){
    dir2= new java.io.File("Z:\\kargozini\\PERSENEL\\" + dir[i]+ "\\"+ dir1[j]).list();
    for(int k=0;k<dir2.length;k++) {
    if (!dir2[k].contains(".DAT") && !dir2[k].contains(".TXT") ) {
    a[h++]=new java.io.File("Z:\\kargozini\\PERSENEL\\" + dir[i]+ "\\"+ dir1[j]+ "\\" + dir2[k]).list().length;
    System.out.println(h+":"+ dir[i]+dir1[j]+ dir2[k] + " :" + a[h-1]);
    }
    }
    }
    }

    }
    }

    پاسخ دادن
    • مدیر سایت
      تیر ۲۰ ۱۳۹۳

      سلام دوست عزیز
      میتونی برای تشخیص اینکه یک فایل هستش و یا یک پوشه از این دو متد استفاده کنید

      File f;
      if(f.isDirectory()){
      }

      if(f.isFile()){
      }

      پاسخ دادن
      • mohadese
        تیر ۲۱ ۱۳۹۳

        سلام ممنون از راهنماییتون
        برنامه رو اینجوری تغییر دادم که نام فولدر به همراه تعداد فایل ها رو برگردونه .
        برای خروجی برنامه در فایل متنی
        که هم نام فولدر و هم تعداد فایلهای درون آن را شامل میشود
        یا فایل اکسل چطور باید تغییر بدم.
        package javaapplication1;
        import java.io.File;
        import java.io.IOException;
        import javax.imageio.IIOException;
        public class JavaApplication1 {
        static int a[] =new int[10000];
        static int h=0;
        public static void main(String[] args) throws IOException{
        File file=new File(“Z:\\kargozini\\PERSENEL”); //Directory address
        System.out.println(file.getAbsolutePath());
        if(file.isDirectory()){
        listFile(file,0);
        }
        }
        public static void listFile(File file,int depth){
        for(File f:file.listFiles()){
        if(f.isDirectory()){
        a[h++] =f.list().length;
        System.out.println(h+”:” + f.getName()+”::” +a[h-1]);
        listFile(f,depth+1);
        }

        }
        }

        پاسخ دادن
        • مدیر سایت
          تیر ۲۱ ۱۳۹۳

          سلام
          اگه میخواین همین خروجی رو توی فایل بنویسین و برنامهتون کلا همین هستش و جای دیگه ای از پرینت استفاده نمیکنید
          میتونید با نوشتن کد زیر در اول برنامتون همین خروجی رو به فایل ببرید.
          System.setOut(new PrintStream(new File(“c:\\1.txt”)));

          و یا با استفاده از کد زیر توی فایل بنویسین
          FileWriter f=new FileWriter(“c:\\1.txt”);
          f.write(“test”);
          f.close();

          و اگه میخواین توی اکسل بنویسین کتابخانه زیاد هستش مثلا jxl
          موفق باشید

          پاسخ دادن
  2. زهرا
    اردیبهشت ۳۱ ۱۳۹۳

    سلام وخسته نباشید
    یه راهنمایی می خواستم چگونه میتوان کدی را به زبان جاوا پیاده سازی کنیم که چند کاربر همزمان بتوانند روی یک سیستم loginکنند وتغییر اطلاعات خود را ببینند این تغییر اطلاعات در فایل با دسترسی تصادفی ذخیره میشود

    پاسخ دادن
    • مدیر سایت
      اردیبهشت ۳۱ ۱۳۹۳

      یک راه اینه که شما برای هر کاربر یک پوشه جدا بسازین و مثلا یک فایل برای ذخیره ی پسورد و یکی برای ذخیره ی بقیه اطلاعات داشته باشن
      یا کلا یوزر و پسورد همه ی کاربرا رو توی یه فایل نگه دارین و برای بقیه ی اطلاعات هر کاربر هم یک فایل بسازین
      برای راحتی در ذخیره و خوندن از فایل می تونید از کلاس Properties استفاده کنید
      http://www.programyar.com/?p=2619

      موفق باشید

      پاسخ دادن
      • زهرا
        اردیبهشت ۳۱ ۱۳۹۳

        سلام و تشکر
        من کدی که اطلاعات کاربران را در فایل ذخیره کند دارم و طبق این کد در هر لحظه فقط یک کاربر میتواند وارد سیستم شده و اطلاعات خود را ببیند اما میخواهم این کد را چنان گسترش دهم که چند کاربر همزمان بتوانند وارد سیستم شوند وتغییر اطلاعات خود را ببینند راهنماییم کنید چگونه میتوانم این کار را انجام دهم

        پاسخ دادن
        • مدیر سایت
          خرداد ۱ ۱۳۹۳

          منظورتون رو درست متوجه نمیشم
          اگه برنامه رو چند بار باز کنین خوب میتونین چند نفر توش لاگین کنید دیگه مشکل کجاست.

          پاسخ دادن
  3. زهراکریمی
    آذر ۲۰ ۱۳۹۲

    سلام دوست عزیز
    خسته نباشی
    خواستم تشکرکنم ازاین سایت خوبی که گذاشتی.یک دنیا ممنون

    پاسخ دادن
  4. مینایی
    شهریور ۲۶ ۱۳۹۲

    باسلام و تشکر بابت مطالب جالب شما
    سوالی داشتم
    کدی می خواستم تا باهاش آی پی و مشخصات کاربر مراجعه کرده به صفحه ای را به ایمیلم بفرسته
    ممنونم

    پاسخ دادن
  5. shayesteh
    شهریور ۱۵ ۱۳۹۲

    میشه بگین تو debug
    ّکلید های f1تاf12چه کارایی میکنن
    من میدونم که مf5 داخل متد میشه
    اما f6 متد رو رد میکنه
    ممنون میشم اگه جواب بدین خیلی ضروری هست

    پاسخ دادن
    • مدیر سایت
      شهریور ۱۵ ۱۳۹۲

      می بخشی دوست عزیز
      نمی دونم. الان هم فرصت کافی ندارم جوابشو براتون پیدا کنم

      پاسخ دادن
  6. ممد
    شهریور ۱۰ ۱۳۹۲

    ضایع اخه چرا اسکی می ری هرجا می گردم این کدو می بینم.

    پاسخ دادن

ارسال نظر

(required)
(required)

Note: HTML is allowed. Your email address will never be published.

اشترک در نظر