0

こんにちは、

Scanner文字列の入力を使用して他のオブジェクトを構築できるように、 を使用してファイルを読み込もうとしています。NullPointerExceptionただし、スキャナーを作成しようとすると、常にスキャナーがスローされます。フォルダにpig.txtテキスト ファイルがありres/rawますが、スキャナがアクセスできないようです。何が間違っているのかわかりません。メソッドの他のコードをコメントアウトしましたが、それでも例外が発生します。

public void loadAchievements() {
    try {
        Scanner s = new Scanner(getResources().openRawResource(R.raw.pig));

        /**
         * s = s.useDelimiter("."); Scanner StringScanner; StringScanner =
         * new Scanner(s.next()); StringScanner =
         * StringScanner.useDelimiter(":"); String keep =
         * StringScanner.next(); String StringKeeper = StringScanner.next();
         * this.achievementBoard.add(new Achievement_Item(keep,
         * StringKeeper)); StringScanner.close(); s.close();
         **/
    } catch (NullPointerException e) {
        e.printStackTrace();
        System.out.println("NULLPOINTER");
    }
}
4

2 に答える 2

1
I had this problem today, and I resolved somehow.
I know that old question, but I would share it if others have stuck.





 public class Question {

        private int numberOfQuestion;
        private String[] myquestion;

        public Question(InputStream file_name) {
            Scanner scanner = null;

            try {
                scanner = new Scanner(file_name);

            } catch (Exception e) {
                Log.d("Question", "Scanner :" + e);
                System.exit(1);
            }

            this.numberOfQuestion = scanner.nextInt();
            scanner.nextLine();
            myquestion = new String[numberOfQuestion];

            for (int i = 0; i < numberOfQuestion; ++i) {
                myquestion[i] = scanner.nextLine();

            }

            scanner.close();


        }
    ---------------------------------------------------------
call:

try { 
  MyScanner myScanner = new MyScanner(getResources().openRawResource( R.raw.input_question)); 
   } catch (Exception e) { 
        Log.d("Error", "input_question.txt"); 
  }
于 2014-11-16T19:22:50.553 に答える
0

openRawResource() メソッドは、ドローアブル、サウンド、および生のリソースを開くためにのみ使用できます。文字列と色のリソースでは失敗します。pig.txt は文字列を含むテキスト ファイルであるため、openRawResource() は新しいストリームを開くことができないため、ストリームは null です。

于 2013-03-01T01:30:47.473 に答える