FileInputStream fis = new FileInputStream("sm.txt");Это не ресурсы. Это ты открываешь файл. Ресурсы это:
this.getClass().getResourceAsStream("sm.txt")Например:
package my.test;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
public class Test {
    public static void main(String[] args) throws IOException {
        char buf[] = new char[1024];
        int count;
        Reader sm = new InputStreamReader(Test.class.getResourceAsStream("sm.txt"), "cp1251");
        while((count = sm.read(buf)) != -1){
            System.out.print(String.valueOf(buf, 0, count));
        }
    }
}
Файл в этом случае должен лежать вместе с классом.