Java 将TXT文件信息解析为整数
即使有成百上千的解析问题,我也找不到任何相关的问题: 类似于一个好的旧网站计数器,我喜欢在sd卡上的txt文件中存储一个数字。每次在应用程序中激活一个方法时,它都应该读取一个txt文件的编号,添加1并再次保存 如果我尝试下面的代码,它会创建一个奇怪的字符串,没有Int。如何解决这个问题-Java 将TXT文件信息解析为整数,java,android,file,parsing,counter,Java,Android,File,Parsing,Counter,即使有成百上千的解析问题,我也找不到任何相关的问题: 类似于一个好的旧网站计数器,我喜欢在sd卡上的txt文件中存储一个数字。每次在应用程序中激活一个方法时,它都应该读取一个txt文件的编号,添加1并再次保存 如果我尝试下面的代码,它会创建一个奇怪的字符串,没有Int。如何解决这个问题- FileWriter writer; File file; FileInputStream fileIS; public void implementCounter() { File sdcard
FileWriter writer;
File file;
FileInputStream fileIS;
public void implementCounter()
{
File sdcard = Environment.getExternalStorageDirectory();
int counter = 0;
try{
File f = new File(sdcard +"/Experiment/Counter.txt");
fileIS = new FileInputStream(f);
BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));
//counter = Integer.parseInt(buf.readLine());
String readString = new String();
//just reading each line and pass it on the debugger
/*while((readString = buf.readLine())!= null){
Log.d("line: ", readString);
}*/
readString = buf.readLine();
try {
counter = Integer.parseInt(readString.toString());
} catch(NumberFormatException nfe) {
Log.d("line: ", "XXX: " + readString + "E");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
//Create / Write LogFile
file = new File(sdcard + "/Experiment/Counter.txt");
try
{
counter++;
writer = new FileWriter(file ,false);
writer.write(counter);
writer.flush();
writer.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
其思想是,新的FileWriter只需用一个更高的数字覆盖旧文件。这两个函数是静态的。您可以使用它们检索您的计数并将其保存并设置。有关更多信息,请尝试了解。欢迎各位:
private static boolean setMyLovelyCount(Context mContext, int value) {
SharedPreferences prefs = mContext.getSharedPreferences(
"mylovelyprefs", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("mylovelyCount", value);
return editor.commit();
}
private static int getMyLovelyCount(Context mContext, int defaultvalue) {
SharedPreferences prefs = mContext.getSharedPreferences(
"mylovelyprefs", 0);
return prefs.getInt("mylovelyCount", defaultvalue);
}
为什么要将其保存在文件中?你可以这样保存它,即使应用程序被更新,它也会持续存在吗?!哈哈,我就快到了:-谢谢你!!