我正在尝试阅读文本文件。到目前为止,我已经使用BufferReader
获得了代码。但是,如果我使用openFileInput("Storyline.txt")
,则会出错:The method openFileInput(String) is undefined for the type Game
。现在,我在这里阅读了Activity
的内容:Android File I/O openFileInput() undefined。但我必须承认我不太了解它。
这是我写的代码:
package game;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.*;
public class Game {
public static void Start(){
InputStream instream = openFileInput("Storyline.txt");
InputStreamReader inputreader = new InputStreamReader(instream);
BufferedReader buffreader = new BufferedReader(inputreader);
int numberOfLines, numberOfActions;
String[] parts;
String line = null;
while((line=buffreader.readLine())!=null){
parts=line.split(";");
numberOfLines++;
}
numberOfActions=numberOfLines;
while(numberOfActions-numberOfLines < numberOfLines){
int intOne = Integer.parseInt(parts[0]);
int intTwo = Integer.parseInt(parts[1]);
String strLine = parts[2];
}
}
有人可以帮助我吗?
答案 0 :(得分:1)
方法openFileInput
是为Android Context
课程定义的,但不在Game
课程中定义。
您似乎没有在这里进行Android开发。在这种情况下,您可以使用:
InputStream instream = new FileInputStream("Storyline.txt");
答案 1 :(得分:0)
您在该课程中没有名为openFileInput
的方法,但您正试图将其称为
InputStream instream = openFileInput("Storyline.txt");
此方法应在您的类中定义,在您extends
的类中,或者您需要通过在其前面加上
classInstance.openFileInput("file");
如果您正在进行Android开发,并且您正在讨论Context
中包含的方法,那么您将找到更多信息here。否则,此页面上的其他答案将满足您的需求。
答案 2 :(得分:0)
使用此行
BufferedReader buffreader = new BufferedReader(new FileReader("Storyline.txt"));
而不是..
InputStream instream = openFileInput("Storyline.txt");
InputStreamReader inputreader = new InputStreamReader(instream);
BufferedReader buffreader = new BufferedReader(inputreader);
答案 3 :(得分:0)
您没有定义openFileInput方法,您应该添加一些像这样的东西
public InputStream openFileInput(String filePath) throws FileNotFoundException{
return new FileInputStream(new File(filePath));
}
答案 4 :(得分:0)
您可能需要使用try catch块将调用包装到BufferedReader和InputStream。我相信你需要捕获IOException和FileNotFoundException,但我可能会稍微关闭。