获取.txt文件并用新行或逗号解析它

时间:2014-08-23 19:59:55

标签: java android

我有一个这种格式的.txt文件:

file.txt(每行都有文字)

text1
text2
longtext3
...
..

我正在低迷它:

URL url = new URL(FILE_URL);

                    URLConnection connection = url.openConnection();
                    connection.connect();


                    // download the file
                    InputStream input = newBufferedInputStream(connection.getInputStream());

如何解析此input以便我在每个新行中获取文字?

我尝试过类似的东西:

BufferedReader br = new BufferedReader(new FileReader(file));  
                        String line;   
                        while ((line = br.readLine()) != null) {

                                    LIST.add(line);

                                    } }

但我不想保存它,所以我没有File实例

我可以用这种格式保存:

text1,text2,longtext3,....

如果提取它更简单

4 个答案:

答案 0 :(得分:1)

您可以使用InputStreamReader(http://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html)。

将它放在InputStream和BufferedReader之间。现在你不需要File实例(因此不需要先保存它)。

像...一样的东西。

InputStream input = new BufferedInputStream(connection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String line;
while ((line = br.readLine()) != null) {

    LIST.add(line);

    // further break the line into a list of comma separated values
    List<String> commaSeparatedValues = Arrays.asList(line.split(","));
}
...

答案 1 :(得分:0)

您可以使用Scanner

String result = "";

Scanner in = new Scanner(new FileInputStream(file));

while(in.hasNextLine())
    result += in.nextLine() + ",";

这将创建一个这样的字符串:

text1,text2,longtext3,....

答案 2 :(得分:0)

我不确定你问的是什么,但我认为你想要保存文本文件的每一行。这对我有用,它将每一行都放在一个长串中。

public static void main( String[] args ) 
{
    String FILE_URL = "http://www.google.com/robots.txt";
    String FILE_CONTENTS = "";
    try 
    {
        URL url = new URL(FILE_URL);

        URLConnection connection = url.openConnection();
        connection.connect();


        // download the file
        BufferedInputStream input = new BufferedInputStream(connection.getInputStream());   

        BufferedReader reader = new BufferedReader(new InputStreamReader(input));

        String line = reader.readLine();
        while( line != null ) 
        {
            FILE_CONTENTS += line;
            line = reader.readLine();
        }
    }
    catch( MalformedURLException e ) 
    {
        System.out.println("Malformed URL" );
    }
    catch( IOException e )
    {
        System.out.println( "IOException" );
    }
}

答案 3 :(得分:0)

尝试扫描为普通文字并替换每个&#39; \ n&#39;用逗号......