static mainメソッドから非staticなメソッドは呼び出しできません
mainメソッドから同一クラス内のメソッドを呼び出したら『型 SampleMain の非 static メソッド reafile() を static 参照することはできません』というエラーがでますね。これはメッセージの通りstaticメソッドからはstaticメソッドしか呼び出せないのですが、以下サンプルのように自分でnewすれば呼び出しできます。
package sample;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class SampleMain {
public static void main(String[] args) {
SampleMain s = new SampleMain ();
String sqltext = null;
sqltext =s.reafile();
System.out.println(sqltext);
System.exit(0);
}
/* 『public static String reafile()』と記載しなくてもこれで呼び出しできます */
public String reafile() {
String sqltext = null;
try{
Path path = Paths.get("exec_select.sql");
Stream<String> lines = Files.lines(path);
sqltext = lines.collect(Collectors.joining(System.lineSeparator()));
lines.close();
}catch(IOException e){
e.printStackTrace();
}
return sqltext;
}
}
int型はプリミティブ型なのでnullは入りません
int型はプリミティブ型なのでnullは入りません。それに対しInteger型はクラス型(ラッパークラス)であればnullの設定は可能です。