分割しようとする文字列があります。次のコードダウンロードしたtxtファイルを分割できません
lsSagor = "some text\n Some more text\n More text~Text again\n Text\n text~Some text ..."
final String[] laList = lsSagor.split("~");
String[] laSaga = laList[0].split("\n");
が与える作品:
laSaga[0] => some text
laSaga[1] => some more text
laSaga[2] => More text
をしかし、私はテキストファイルをダウンロードした場合、それは分割して失敗し、提供します:
laSaga[0] => "some text\n Some more text\n More text"
だから、最初のスプリット作品だが、二番目ではありません。ここで
は、私は、ファイル
String lsSagor = getFileFromUrl(BASEURL+"/sagor.txt");
public static String getFileFromUrl(String url)
{
InputStream content = null;
try
{
HttpGet httpGet = new HttpGet(url);
HttpClient httpclient = new DefaultHttpClient();
// Execute HTTP Get Request
HttpResponse response = httpclient.execute(httpGet);
content = response.getEntity().getContent();
}
catch (Exception e)
{
//handle the exception !
}
BufferedReader rd = new BufferedReader(new InputStreamReader(content), 4096);
String line;
StringBuilder sb = new StringBuilder();
try {
while ((line = rd.readLine()) != null) {
sb.append(line);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
rd.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
テキストファイルを1つのOSで作成し、別のOSにアップロードしました(WindowsとLinuxの間にあるようです)。そのため、改行が変換されました。 :) –
前のコメントは正しいかもしれません。ちなみに、getFileFromURL関数では、ファイルから行を読み込んで文字列にマージし、もう一度分割したいと思う...ちょっと変です。 –
@Sarwar:同じ問題を考えていた... – Nocturnal