Pao's right, the full import will create tablespaces for you, but only if those tablespaces can be created in the same directory as the source database. If you know for sure that the tablespaces can be created in the same directories as the original database, then I would create System, rollback segment and temp tablespaces and let the import do the rest.

However, if you're not sure if the tablespaces should be created in the same directories as the source database, or if you know for sure that they will be different, then I would create all the target tablespaces in the directories I want them to be in first, grant quota to the tablespaces for the user doing the import, then do a full import. If the import sees that the tablespaces already exist, it will create the objects in the correct tablespaces. In this case, add the parameter, ignore=y. This will skip over errors, "object already exists."

In the past, I have had to create users and roles in the database before the import to avoid the "user does not exist" errors. But there where other times this was not necessary.

Good luck.
maachan