Alb*_*lug 0 java android bufferedreader
嘿伙计们,当我试图在android java中读取文本文件时,我真的很难解决问题.
public String readFromFile(String filename)
{
String content = "";
try
{
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/MyApplication");
File file = new File(dir, filename);
Scanner scanner = new Scanner(file);
String line = "";
while(scanner.hasNextLine())
{
line = scanner.nextLine();
content += line + "\n";
}
scanner.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return content;
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用扫描仪和缓冲读取器来提取内容
public List<String> readFromFile(String filename)
{
List<String> lines = new ArrayList<String>();
FileReader fileReader;
BufferedReader bufferedReader;
try
{
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "MyApplication");
File file = new File(dir, filename);
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
String line = bufferedReader.readLine();
while(line != null)
{
lines.add(line);
bufferedReader.readLine();
}
bufferedReader.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return lines;
}
Run Code Online (Sandbox Code Playgroud)
但它们似乎都不起作用.函数返回零,就像文件为空.此外,我没有收到错误消息,我仔细检查了路径.通常这些功能对我来说非常好,但我无法解决这个问题.
我感谢任何帮助:)
编辑:如果发现问题.一切都很好的权限或文件的位置,问题只是我放
FileOutputStream fileOutputStream = new FileOutputStream(file)
Run Code Online (Sandbox Code Playgroud)
在我调用readFromFile()方法之前的代码中.我认为因为readFromFile()方法返回该文件为空.谢谢您的回答!
试试这个 :
我假设您的文本文件在SD卡上
//Find the directory for the SD Card using the API
//*Don't* hardcode "/sdcard"
File sdcard = Environment.getExternalStorageDirectory();
//Get the text file
File file = new File(sdcard,"file.txt");
//Read text from file
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
Run Code Online (Sandbox Code Playgroud)
要从内部存储中读取数据,您需要使用app文件夹并从此处读取内容
String yourFilePath = context.getFilesDir() + "/" + "hello.txt";
File yourFile = new File( yourFilePath );
Run Code Online (Sandbox Code Playgroud)
你也可以使用这种方法
FileInputStream fis = context.openFileInput("hello.txt");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader bufferedReader = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
sb.append(line);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |