我正在嘗試寫入&將整數數組RED []和BLUE []寫入文件。我試圖將它們轉換成字符串並寫入它們,希望它能夠工作,但沒有運氣。我在正確的軌道上嗎?我已經嘗試了DataOutputStreams,但是這對我來說還沒有解決。將整數/字符串數組寫入文件(Android應用程序開發)
截至目前,我確定有些事情是不正確的,因爲這兩個按鈕都沒有響應。該程序不通過try {}中的任何一個。
寫入到文件
bSave.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String FILENAME = name.getText().toString();
try {
fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
BufferedWriter bw = new BufferedWriter(new FileWriter(FILENAME));
bw.write(Arrays.toString(paletteview.RED));
bw.write(Arrays.toString(paletteview.BLUE));
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
從文件
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String data=null;
String FILENAME = savedarray[position];
try {
String inputLine = null;
StringBuilder sb = null;
fis = openFileInput(FILENAME);
BufferedReader br = new BufferedReader(new FileReader(FILENAME));
while ((inputLine = br.readLine()) != null) {
sb.append(br.readLine());
}
fis.close();
data=sb.toString();
text.setText(data);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
從文件讀取讀取:嘗試#2(由TextView的,看看有什麼我讀)
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String data=null;
String FILENAME = savedarray[position];
File f = new File(FILENAME);
if (f.exists) {
textview.setText(FileManager.readFromFile(f));
}
}
寫入文件:嘗試#2(用於intArrayToString方法,請參見下文)
@Override
public void onClick(View v) {
if (name.getText().toString() != null){
FILENAME = name.getText().toString();
File f = new File(FILENAME);
FileManager.writeToFile(f, intArrayToString(paletteview.RED));
}
}
intArrayToString(書寫用於文件#2)
String intArrayToString(int[] array) {
String text = "" + array[0];
for (int i = 1; i < array.length; i++) {
text += ","+array[i];
}
return text;
*文件管理器(從NoInspiration的答案複製)
什麼在你的logcat? – 2014-08-29 02:30:01
簡而言之,'Arrays.toString()'方法不像你想象的那樣工作。嘗試Log.d(「debug」,Arrays.toString(paletteview.RED)'',你會看到。 – TactMayers 2014-08-29 02:38:32
@ScaryWombat logcat中沒有任何內容 – user3923740 2014-08-29 02:48:09