A continuación, el artículo anterior le presentará los métodos comunes de las aplicaciones Java y la entrada y salida para su referencia. El contenido específico es el siguiente
1. Aplicación
1. Use StringBuilder o StringBuffer
// Join (["A", "B", "C"]) -> "A y B y C" String Join (List <String> Strs) {StringBuilder sb = new StringBuilder (); booleano primero = verdadero; for (cadena s: strs) {if (primero) primero = false; else sb.append ("y"); sb.append (s); } return sb.ToString ();}2. Genere enteros aleatorios en un rango
Rand aleatorio = new Random (); // Entre 1 y 6, incluyendo Diceroll () {return rand.nextint (6) + 1;} 3. Use iterator.remove ()
Filtro void (list <string> list) {for (iterator <String> iter = list.iterator (); iter.hasnext ();) {string item = iter.next (); if (...) iter.remove (); }}El método remove () actúa sobre la entrada recientemente devuelta del método Next (). Cada entrada solo puede usar el método Remout () una vez.
4. String de retorno
String reverse (string s) {return new StringBuilder (s) .Reverse (). ToString ();} Este método probablemente debería agregarse a la biblioteca estándar Java.
5. Comience un hilo <Br /> Los siguientes tres ejemplos Use diferentes métodos para lograr lo mismo.
Cómo implementar Runnnable:
void startathread0 () {new Thread (new Myrunnable ()). Start ();} class MyRunnable Implements runnable {public void run () {...}}Cómo heredar el hilo:
void startathread1 () {new MyThread (). Start ();} MyThread extiende el hilo {public void run () {...}}Cómo heredar el hilo de forma anónima:
void startathread2 () {new Thread () {public void run () {...}} .start ();}No llame al método Run () directamente. Siempre se llama el método Thread.Start (), que crea un nuevo hilo y hace que el hilo recién creado llame Run ().
6. Use el try-finalmente
Ejemplo de transmisión de E/S:
void writeStuff () lanza ioexception {outputStream out = new FileOutputStream (...); intente {out.write (...); } finalmente {out.close (); }}Ejemplo de bloqueo:
void dowithlock (bloqueo de bloqueo) {Lock.acquire (); intente {...} Finalmente {Lock.Release (); }}2. Entrada/salida
1. Lea los datos de bytes de la secuencia de entrada
InputStream in = (...); try {while (true) {int b = in.read (); if (b == -1) ruptura; (... proceso b ...)}} Finalmente {in.close ();}El método Read () devuelve el siguiente número de bytes leídos de la transmisión (0 a 255, incluidas 0 y 255), o devuelve -1 cuando se alcanza el final de la corriente.
2. Lea los datos de bloque de la secuencia de entrada
InputStream in = (...); try {byte [] buf = new byte [100]; while (true) {int n = in.read (buf); if (n == -1) ruptura; (... procesar buf con offset = 0 y longitud = n ...)}} Finalmente {in.close ();}Recuerde que el método Read () no necesariamente llena el BUF completo, por lo que debe considerar la longitud de la devolución en la lógica de procesamiento.
3. Lea el texto del archivo
BufferedReader in = new BufferedReader (new InputStreamReader (new FileInputStream (...), "UTF-8")); Try {while (true) {string line = in.readline (); if (línea == nulo) ruptura; (... Línea de proceso ...)}} Finalmente {in.close ();}4. Escribe texto al archivo
PrintWriter out = new PrintWriter (nuevo OutputStreamWriter (nuevo FileOutputStream (...), "UTF-8")); intente {out.print ("hola"); out.print (42); out.println ("World!");} Finalmente {out.close ();}Lo anterior se trata de este artículo, espero que sea útil para el aprendizaje de todos.