PDA

View Full Version : ساخت فایل تصادفی ! ذخیره و بازیابی!



Samsam2010
جمعه 09 دی 1390, 17:45 عصر
با سلام دوستان

از دوست خوبم spiderman200700 متشکرم که پاسخ سوالات من رو میده و نمیزاره بخش جاوا بخوابه !

من اطلاعات رو از textfield گرفتم به jtable منقل کردم
حالا میخوام اطلاعات jtable رو درون یک فایل text ذخیره کنم .

و همینطور بازیابی فایل text به jtable !

دوستان چند تا سوال داشتم !

اول اینکه اگر سورس دارید بهم بدید دستتون درد نکنه !

اگر هم نداشتید:!!

طریقه ساخت فایل تصادفی در جاوا !

ذخیره فایل

و بازیابی رو به زبان شیرین فارسی بهم توضیح بدید ! اگر هم انگلیسی ساده روان بود بازم مشکلی نداره!

spiderman200700
شنبه 10 دی 1390, 13:29 عصر
درود بر شما.

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

اینم کلاس SPFileWriter که دوتا متد داره.
متد writeFile برای ذخیره ی یک آرایه ی دو بعدی در فایل هست.که هر سطر آرایه به صورت یه سطر در فایل ذخیره میشه.و از کاراکتر "," برای جدا کردن خانه های آرایه در یک سطر استفاده میکنه.
متد readeFile برای خواند از فایل و چاپ اون توی خروجی هست.این متد سطر به سطر، تمام اطلاعاتی که بین دوتا "," قرار داره رو در خروجی چاپ میکنه.

import java.io.*;

public class SPFileWriter {

public static void main(String args[]) {
String twoD[][] = new String[][]{
{"t00", "t01", "t02"},
{"t10", "", "t12"}
};
String fileName = "DataFile.txt";
if (SPFileWriter.writeFile(fileName, twoD)) {
SPFileWriter.readeFile(fileName);
}
}

@SuppressWarnings("CallToThreadDumpStack")
public static boolean writeFile(String fileName, String[][] twoD) {
PrintWriter pw = null;
try {
pw = new PrintWriter(fileName);//ساختن یک فایل
for (String[] str : twoD) {
for (String str1 : str) {
pw.print(str1 + ",");//نوشتن یک سلول از آرایه ی دو بعدی، درون فایل
}
pw.println();//نوشتن یک سطر جدید
}
return true;
} catch (FileNotFoundException ex) {
ex.printStackTrace();
return false;
} finally {
pw.close();//بستن فایل
}
}

@SuppressWarnings("CallToThreadDumpStack")
public static boolean readeFile(String fileName) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(fileName));//باز کردن یک فایل
String s = null;
while ((s = br.readLine()) != null) {//اگر سطر بعدی مخالف نال بود،آن را درون متغییر بریز
while (s.length() > 0) {
System.out.println(s.substring(0, s.indexOf(",")));
s = s.substring(s.indexOf(",") + 1);
}
}
return true;
} catch (IOException ex) {
ex.printStackTrace();
return false;
} finally {
try {
br.close();//بستن فایل
} catch (IOException ex) {
ex.printStackTrace();
return false;
}
}
}
}

حالا جناب Samsam2010 عزیز،اگه میخوای اطلاعات جدول رو ، توی فایل ذخیره کنی،کافیه اطلاعات جدول رو بریزی توی یه آرایه ی دو بعدی ،بعد برای نوشتنش داخل فایل ، بدیش به متد writeFile این کلاس.
برای خوندنش هم از متد readeFile استفاده کن.
اگه سوالی بود مطرح کنید تا با هم بررسیش کنیم.