public static void ReadData() throws IOException{
		//get all file name under the process directory
		File ReadDirectory = new File(DataInput);
		File[] files = ReadDirectory.listFiles();
		
		//if the process directory has no file, end the process.
		if (files == null){
			System.out.println("Data File Error");
			return;
		}
		
		//traverse all files under the process directory
		for (File ReadFileName : files){
			
			//Open input stream
			FileInputStream IOStream = new FileInputStream(ReadFileName);
			InputStreamReader read = new InputStreamReader(IOStream); 
			BufferedReader reader = new BufferedReader(read);
			
			String MovieItem = reader.readLine();
			int MovieNum = Integer.parseInt(MovieItem.substring(0, MovieItem.length() - 1));
			
			//read data line by line to the end of file
			String str = new String();
			while ((str = reader.readLine()) != null){
				String[] RateItem = str.split(",");
				int UserID = Integer.parseInt(RateItem[0]);
				int UserScore = Integer.parseInt(RateItem[1]);
				
				DataTuple tmp = new DataTuple();
				tmp.setMovie(MovieNum);
				tmp.setUser(UserID);
				tmp.setRating(UserScore);
				
				MovieRating.add(tmp);
				UserRating.add(tmp);	
			}
						
			reader.close();
			read.close();
			IOStream.close();
			
			MovieRating.trimToSize();
			UserRating.trimToSize();
		}
		
	}