我有一个这种格式的.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,....
如果提取它更简单
答案 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;用逗号......