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));
}
}
}
Файл в этом случае должен лежать вместе с классом.