Создайте новую переменную Count
со значением 1 для каждой строки:
df1["Count"] <-1
Затем скомпилируйте фрейм данных, суммируя по столбцу Count
:
df2 <- aggregate(df1[c("Count")], by=list(year=df1$year, month=df1$month), FUN=sum, na.rm=TRUE)
Для чтения файла попробуйте следующее:
FileInputStream fis;
fis = openFileInput("test.txt");
StringBuffer fileContent = new StringBuffer("");
byte[] buffer = new byte[1024];
while ((n = fis.read(buffer)) != -1)
{
fileContent.append(new String(buffer, 0, n));
}
Попробуйте что-нибудь подобное
public void writeData ( String data ) {
try {
FileOutputStream fOut = openFileOutput ( "settings.dat" , MODE_WORLD_READABLE ) ;
OutputStreamWriter osw = new OutputStreamWriter ( fOut ) ;
osw.write ( data ) ;
osw.flush ( ) ;
osw.close ( ) ;
} catch ( Exception e ) {
e.printStackTrace ( ) ;
}
}
public String readSavedData ( ) {
StringBuffer datax = new StringBuffer("");
try {
FileInputStream fIn = openFileInput ( "settings.dat" ) ;
InputStreamReader isr = new InputStreamReader ( fIn ) ;
BufferedReader buffreader = new BufferedReader ( isr ) ;
String readString = buffreader.readLine ( ) ;
while ( readString != null ) {
datax.append(readString);
readString = buffreader.readLine ( ) ;
}
isr.close ( ) ;
} catch ( IOException ioe ) {
ioe.printStackTrace ( ) ;
}
return datax.toString() ;
}
datax.append (System.lineSeparator ());
? И StringBuilder
более эффективен тогда StringBuffer
- кроме этого: Спасибо, большая помощь.
– Martin
11 January 2015 в 19:49
Меньше - больше,
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tvText = (TextView) findViewById(R.id.tvText);
try {
// Create File and Content
String FILE_NAME = "hallo.txt";
String content = "Hallo Welt!";
FileOutputStream fos = openFileOutput(FILE_NAME, MODE_PRIVATE);
fos.write(content.getBytes());
fos.close();
// Read File and Content
FileInputStream fin = openFileInput(FILE_NAME);
int size;
String neuText = null;
// read inside if it is not null (-1 means empty)
while ((size = fin.read()) != -1) {
// add & append content
neuText += Character.toString((char) size);
}
// Set text to TextView
tvText.setText(neuText);
} catch (Exception error) {
// Exception
}
}
}
Reader
при чтении текста, а неInputStream
, чтобы избежать ошибок, подобных этому. – Jules 1 August 2013 в 16:35