/ /パイプラインで区切られたテキストファイルを解析する[クローズ] - android

パイプラインで区切られたテキストファイルを解析する[閉じる] - アンドロイド

パイプラインで区切られたテキストファイルを解析できる方法があるかどうかを知る必要があるのは、Android開発が新しくなったからです。

ありがとう、

回答:

回答№1は0

私はあなたがテキストファイルの内容を読み、Stringの塊の中のデータ全体をパイプラインに基づいて分離したいと思いますか?私は正しいコードをフォローしているならば:

public class FileReader {
private String fileType;
FileReader (String targetFilePath){
File file = new File(targetFilePath);
if (!file.exists()) {
Log.e("",targetFilePath + " does not exist.");
} else if (!(file.isFile() && file.canRead())) {
Log.e("",file.getName() + " cannot be read from.");
} else {
try {
fileInputStream = new FileInputStream(file);
fileBufferedInputStream = new BufferedInputStream(fileInputStream);
//Use FileBufferedInputStream just for supporting mark()/reset() while reading
// reading file extension ex. java or xml or txt
this.fileType = targetFilePath.substring(
targetFilePath.lastIndexOf(".") + 1,
targetFilePath.length());

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.e("",""+e.printStackTrace());
}
}
}


/*
This method will return a arraylist of Strings which are seperated by "|" in given  txt file
and null otherwise like if file was not text,blank.etc
*/
public ArrayList<String> read(){
if(fileType.equalsIgnoreCase("txt")){
char currentChar;
ArrayList<String> myStringsList ;
while (fileBufferedInputStream.available() > 0) {
StringBuilder stringBuilder = new StringBuilder();
while ((currentChar = (char) fileBufferedInputStream.read()) == "|") {
stringBuilder.append(current);
}
if(null == myStringsList){
myStringsList = new ArrayList<String>();
}
myStrings.add(stringBuilder.toString());
}
}
fileBufferedInputStream.close();
return myStringsList ;
}


}

次のように上記のコードを呼び出します。

FileReader fileReader = new FileReader("Path to your text file");
ArrayList<String> stringsSeperatedByPipeDelimeters = fileReader.read();

回答№2の場合は0

ファイルを文字列に読み、パイプラインまたは他の区切り文字を使用して文字列を分割するだけです。


回答№3の場合は-1

あなたもこのようなことができる:

private String[] getPipedChunks(String targetFilePath){
File file = new File(targetFilePath);
try {
fileInputStream = new FileInputStream(file);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.e("",""+e.printStackTrace());
}
StringBuilder sb;
while(fileInputStream.available() > 0) {

if(null== sb)  sb = new StringBuilder();

sb.append((char)fileInputStream.read());
}
String stringArray [];
if(null!=sb){
stringArray = sb.toString.split("|");
// This is your String Array.


}
try {
fileInputStream.close();
}
catch(Exception e){
// TODO Auto-generated catch block
Log.e("",""+e.printStackTrace());
}
return stringArray;
}