Resources.Load gives me NullReferenceException why?

I tried to solve it and I read a lot about it on forums but I couldn’t solve it.
I’ve got a private GameObjects array: private GameObject[] balls;

And I’ve got this code method:

public void Drop()
	{
		if (gameIsPlaying) {
			balls = Resources.LoadAll("Prefabs/Balls") as GameObject[];
			print(balls.Length);
			GameObject ball = balls [Random.Range (0, balls.Length)];
			Instantiate (ball, this.transform.position, Quaternion.identity);
			Invoke ("Drop", Random.Range (minTime, maxTime));
		}
	}

And I got the NullReferenceException for this part: print(balls.Length);

it says: NullReferenceException: Object reference not set to an instance of an object
DropperScript.Drop () (at Assets/Scripts/DropperScript.cs:40)

And I put the Prefabs/Balls folder to a folder called Resource.

How can I solve it?

Try it like this:

balls = Resources.LoadAll<GameObject>("Prefabs/Balls");