PDA

View Full Version : خواندن همزمان دو خط از یک فایل



fereshte joon
شنبه 11 اردیبهشت 1389, 22:29 عصر
سلام
یه سوال: من میتونم یک خط از یک فایل رو بخونم اما نمیتونم همزمان به دو خط مختلف دسترسی داشته باشم
کسی میتونه کمکم کنه؟:افسرده: آخه خیلی عجله دارم!:خجالت:

persianshadow
یک شنبه 12 اردیبهشت 1389, 11:08 صبح
باید اطلاعات بیشتری بدید.دقیقآ میخوایید چیکار کنید.کدتون چی هست ؟

soltanalidj
یک شنبه 12 اردیبهشت 1389, 15:51 عصر
می تونی یه Thread بنویسی که کار خوندن رو انجام بده و هر تعداد که می خوای اونو initialize کنی.

fereshte joon
یک شنبه 12 اردیبهشت 1389, 20:21 عصر
باید اطلاعات بیشتری بدید.دقیقآ میخوایید چیکار کنید.کدتون چی هست ؟
برنامه مرتب سازی خارجی برای فایلهایی که اینقدر بزرگن که توی ram جا نمیشن
برای قسمت مرج وقتی میخوایم دو زیر برونده رو که توی فایلند و با هم توی ram جا نمیشن مرج کنیم به مشکل خوردیم

persianshadow
یک شنبه 12 اردیبهشت 1389, 21:16 عصر
فرضآ یک فایل متنی داریم که توش ۳ خط وجود دارد که یک خط وسطش هم فضای خالی هست.

[خودم یه فایل ساختم ضمیمه کردم]

حالا میخواییم شروع کنیم مثلآ خط اول رو بخونیم بریزیم توی یک متغییر و خط دوم و سوم رو توی متغییرهای

دیگه از تکه کد زیر که نوشتم استفاده میشه کرد :






import java.util.Scanner;
import java.io.*;


public class Main {


public static void main(String[] args) {
try {

// get file
Scanner sc = new Scanner(new File("temp.txt"));
// read first line of file
String firstLine=sc.nextLine();
String secoundLine=sc.nextLine();
String thirdLine=sc.nextLine();

System.out.println(firstLine);
System.out.println(secoundLine);
System.out.println(thirdLine);

} catch (FileNotFoundException ex) {

System.out.println("File not found");

}




}

}





من بعد از خوندن اون خط از فایل ها اون ها رو چاپ کردم حالا شما می‌تونید از متغییرها هر استفاده ای

که می‌خوایید بکنید.

mohsensaghafi
سه شنبه 14 اردیبهشت 1389, 11:25 صبح
سلام دوست عزیز.
فکر می کنم مشکلت با استفاده از کلاس RandomAccessFile حل می شه.
اینجا باید موقعیت دو نقطه از فایل رو که می خوای ازش بخونی تو دو متغیر ذخیره کنی و هر وقت خواستی از فایل بخونی باید به اون نقطه از فایل seek کنی و بعر بخونی.
اگر واضح نبود بگو تا بیشتر توضیح بدم.