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

القراءة من ملف

مغلق
بدأه MKSoft في 8 يناير 2006 · 5 رد · 571 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخواني عندي مشروع واريد مساعدتكم ضروووووووووووووووووري جدا

افرض أني أمتلك ملف اسمه File1 وبه البيانات التالية

1 , 10 , 15 , 2 , 7, 50 , 22 , 30 , 16 , 13 , 12 , 77 , 84 , 65

كيف أستطيع أن أكتب كود ليقوم بالقراءة من الملف File1 بقيمة 4 عناصر في كل مرة واخزنهم في Array بحجم أربع عناصر في كل مرة

مثال::

أولا اريد أن أصنع Array باسم A ذات حجم أربع عناصر وبعدها أكتب كود يقوم بقراءة 4 قيم من الملف File1 ولتكن 1 , 10 , 15 , 2 واخزنها في لمصفوفة A

وبعد ذلك اقرب 4 عناصر اخرى وأخزنه في نفس المصفوفة A ولتكن 7 , 50 , 22 , 30

وهكذا حتى انتهي من كل عناصر الملف.

أرجوكم اخواني ساعدوني

وبارك الله فيكم

#2

هل تقصد بأن كل خلية في الـ Array تمثل أربع عناصر ؟

إذا كان الجواب بنعم:

فهل الـ Output يجب أن يكون هكذا بفرض إن محتوى الملف :

65, 66, 55, 84, 77, 12, 13, 16, 30, 22, 50, 7, 2, 15, 10, 1

Output:

A[0]: 1, 10, 15, 2
A[1]: 7, 50, 22, 30
A[2]: 16, 13, 12, 77
A[3]: 84, 65, 66, 55

تم تعديل هذه المشاركة بواسطة red_knight في 9 يناير 2006 في 02:08

public Money getRich(String name){
return new Money(1,000,000,000 );
}
#3

بارك الله فيك أخي red_knight لمتابعتك الموضوع

لكن أنا الذي قصدته هو في كل مرة نقرأ 4 عناصر من ملف File1

مثلا : 1 , 10 , 15 , 2 :: ونخزن هذه القيم في Array تسمى A مثلا وتكون كالتالي

A[0]=1

A[1]=10

A[2]=15

A[3]=2

وبعد ذلك أقرأ أربع عناصر اخرى مثل 7 , 50 , 22 , 30

وأخزنه في نفس Array وتكون كالتالي

A[0]=7

A[1]=50

A[2]=22

A[3]=30

وهكذا حتى تنتهي من قراءة كل القيم من الملف

ملاحظة:: صحيح أنه عندما أقوم بتخزين 4 قيم جديدة في المصفوفة A فإنه سيتم إلغاء القيم السابقة , فلا تأخذ ذلك في عين الاعتبار ( تجاوز عنه)

#4

(h) حل ع السريع

import java.io.*;

class ReadFile{
	public static void main(String[]args) throws IOException{
  BufferedReader fIn=new BufferedReader(new FileReader("File1.txt"));
  String[]arrayAllNumber;
  String[]array=new String[4];
  String line=fIn.readLine();
  arrayAllNumber=line.split(", ");
  for(int i=0;i<arrayAllNumber.length;i++){
 	 array[0]=arrayAllNumber;
 	 array[1]=arrayAllNumber[++i];
 	 array[2]=arrayAllNumber[++i];
 	 array[3]=arrayAllNumber[++i];
 	 print(array);
  }
	}
	public static void print(String[]array){
  // code
  for(int i=0;i<array.length;i++){
 	 System.out.print(array+"\t");
  }
  System.out.println();
  return;
	}
}

11_03_06_12_48_57_1142110137Image(_66).jpg

#5

حياك الله يا أخ MKSoft هذا أيضاً أحد الحلول المناسبة والـ Output موجود بالأسفل ...

هذا باستخدام الـ StringTokenzier :

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

public class ElementsReader{


static BufferedReader stdin;

static StringTokenizer st;



static void read() throws IOException{

String file_content="", data;

data=stdin.readLine();

while(data!=null){


file_content+=data;

data=stdin.readLine();}


st=new StringTokenizer(file_content,", ");}



static int[]  InitializeArray() throws IOException{

read();

int[] a=new int[4];

int i=0;

int count=0;

while(st.hasMoreElements()){

if(i==4)
i=0;

a=Integer.parseInt(st.nextToken());

i++;

}
return a;

}


public static void main(String[] args) throws IOException{

stdin=new BufferedReader(new FileReader("File1.txt"));

int A[]=InitializeArray();

for(int i=0;i<A.length;i++)

System.out.println("A["+i+"]"+": "+A);



}}

Output:

A[0]: 84
A[1]: 65
A[2]: 12
A[3]: 77
Press any key to continue...

تم تعديل هذه المشاركة بواسطة red_knight في 9 يناير 2006 في 20:04

public Money getRich(String name){
return new Money(1,000,000,000 );
}
#6

بار ك الله فيكم اخواني وجزاكم عني خير الجزاء

هذا الموضوع مغلق.

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