前提・実現したいこと
Javaで、外部の.txtデータを1行ずつ読み込み、出力するメソッドを作成したいです。
メソッド内の記述不備やmain文での呼び出し方法に間違いがありますでしょうか?
発生している問題・エラーメッセージ
Error:(8, 9) java: シンボルを見つけられません シンボル: メソッド masterFileLoader() 場所: クラス issues.LoaderTest
該当のソースコード
Java
1package input; 2import java.io.BufferedReader; 3import java.io.IOException; 4import java.nio.charset.StandardCharsets; 5import java.nio.file.Files; 6import java.nio.file.Path; 7import java.nio.file.Paths; 8 9public class Loader { 10 11 public void masterFileLoader() throws IOException { 12 //マスターファイルの名称 13 final String masterFileName = "masterFile.txt"; 14 Path pathMasterFilename = Paths.get(masterFileName); 15 16 BufferedReader readMasterFile 17 = Files.newBufferedReader(pathMasterFilename, StandardCharsets.UTF_8); 18 try { 19 for (String line; (line = readMasterFile.readLine()) != null; ) { 20 System.out.println(line); 21 } 22 readMasterFile.close(); 23 }catch (IOException e) { 24 System.out.println("ERROR"); 25 System.out.println(e); 26 } 27 } 28} 29
java
1package input; 2 3public class LoaderTest{ 4 public static void main(String[] args){ 5 masterFileLoader(); 6 } 7} 8
試したこと
Main文に、masterFileLoaderメソッドの中身をコピペして実行すると、所望の動作(1行ずつtxtファイルの内容が出力される)することが確認できました。
【追記】
Loaderクラスに
public Loader(){
}
を追加し、
package input; import java.io.BufferedReader; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class Loader { //int readNum = 0; public Loader(){ } public void masterFileLoader() throws IOException { //マスターファイルの名称 final String masterFileName = "masterFile.txt"; Path pathMasterFilename = Paths.get(masterFileName); BufferedReader readMasterFile = Files.newBufferedReader (pathMasterFilename, StandardCharsets.UTF_8); for (String line; (line = readMasterFile.readLine()) != null; ) { System.out.println(line); } readMasterFile.close(); } }
main文を
public class LoaderTest{ public static void main(String[] args) throws IOException { Loader load = new Loader(); load.masterFileLoader(); } }
と変更することで、出力させることが出来ました
個人的な理想の記述方法
以下のような記述で実行できることが理想なのですが、これは可能でしょうか?
可能ならば、メソッドをどのように記述する必要がありますか?
public class LoaderTest{ public static void main(String[] args) throws IOException { masterFileLoader(); } }
補足情報(FW/ツールのバージョンなど)
IntelliJ IDEAを利用しています
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。