在java(android)中读取文件.txt的正确途径是什么?

时间:2016-02-10 20:09:57

标签: java android json windows

我试图读取一个内部有json的文件.txt,但我得到的是FileNotFoundException,而obj是null。我认为路径是错误的,但我在其他问题中已经看到这是正确的......

我正在使用Windows,是的,我将文件放在此路径中。

   JsonParser parser = new JsonParser();
Object obj;

        try {
             obj = parser.parse(new FileReader("C:/Users/Kevin/jsontest.txt"));
        }catch(FileNotFoundException f){

        }

3 个答案:

答案 0 :(得分:0)

我不确定您的目标是什么,但您可以先检查失败是来自FileReader对象(或路径),然后再将其添加到JsonParser对象。注意:尝试将文件放在与编写java文件相同的工作区中。

答案 1 :(得分:0)

使用Files.lines。如果你想逐行阅读,这就行了。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class Readfile {

    public static void main(String args[]) {
        final Path location = Paths.get("C:/Users/Kevin/jsontest.txt");
        try (Files.lines(location)) {
            lines.forEach(line -> 
                System.out.println(line)
            );
        } catch (IOException e) {
            // we have a problem
        }
    }
}

以上是逐行处理文本文件。

另一方面,如果您尝试解析JSON,请使用Jackson

答案 2 :(得分:0)

尝试此选项。

  1. 在res文件夹中创建一个raw文件夹,然后在此处输入你的文本。
  2. 输入此代码:

            Resources res = getResources();
            InputStream in = res.openRawResource(R.raw.jsontest);
            String json = IOUtils.toString(in);
            IOUtils.closeQuietly(in);
    
  3. 将此String放在JsonObject

    JSONObject j = new JSONObject(fakejson);

  4. 也许您需要导入Utils。将其添加到gradle:

    编译'commons-io:commons-io:2.4'