Of course you can use java.io.FileInputStream and java.io.FileOutputStream with Pega, but it is more interesting what you want to do with objects of these classes; in particular, what files you want to read or write with them.
Depending on your setup (Cloud vs. On-Premise; Operating System; Application Server; Virtual Machine vs. Real Iron; ...) you may or may not have access to any of the underlying file systems, but this is not specific to Pega.
Why does it has to be FileInputStream/FileOutputStream? Do you want to read/write files from the file system?
But why do you want to use the detour over the file system when have the data already in memory where you can access it with another implementation of InputStream, and where you can write the result of the transformation with an implementation of OutputStream. Refer to java.io.ByteArrayInputStream and java.io.ByteArrayOutputStream.
And PRInputStream does not "emulate" java.io.InputStream, it is an implementation of that interface that works with instances of PRFile, similar to that implementation of java.io.InputStream that works with instances of java.io.File and is named java.io.FileInputStream.