1 IO
- BigDecimal / BigInteger
Descripción general:
- BigDecimal: utilizado para resolver operaciones de punto flotante precisas.
- BigInteger: se utiliza para resolver los grandes aritmética de enteros.
Crear un objeto:
- BigDecimal.valueOf (2);
- Los métodos comunes: add (BigDecimal dl): hacer víbora
- restar (BigDecimal BD): hacer la resta
- multiplicar (BigDecimal BD): hacer multiplicación
- dividir (BigDecimal dl): hacer las divisiones
- Divide (BigDecimal bd, Reservas dígitos, redondeo): Además de la utilización de diferentes
- setScale (dígitos de reserva, de redondeo): Igual que el anterior
- pow (n int): datos de varios demanda de potencia
public class Test2_BigD {
public static void main(String[] args) {
double a = new Scanner(System.in).nextDouble();
double b = new Scanner(System.in).nextDouble();
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);//不精确
System.out.println(“===上面的除法不精确===”);
BigDecimal bd1 = BigDecimal.valueOf(a);
BigDecimal bd2 = BigDecimal.valueOf(b);
BigDecimal bd3;
bd3=bd1.add(bd2);
System.out.println(bd3.doubleValue());
bd3=bd1.subtract(bd2);
System.out.println(bd3.doubleValue());
bd3=bd1.multiply(bd2);
System.out.println(bd3.doubleValue());
// bd3=bd1.divide(bd2);//报错除不尽
//保留位数和舍入方式
bd3=bd1.divide(bd2,5,BigDecimal.ROUND_HALF_UP);
bd3=bd3.setScale(2, BigDecimal.ROUND_HALF_UP);//保留两位
System.out.println(bd3.doubleValue());
}
}
- IO Introducción
estructura de herencia:
- de entrada / salida con respecto al programa en términos de la entrada (de lectura) y de salida de proceso (escrito) es.
- En Java, en función de los datos de las unidades de procesamiento, en un flujo de bytes y flujo de caracteres
del archivo
flujo de bytes: para archivos binarios
> InputStream
> --FileInputStream
> --BufferedInputStream
> --ObjectInputStream OutputStream
> --FileOutputStream
> --BufferedOutputStream
> --ObjectOutputStream
flujo de caracteres: para archivos de texto. Escribe propenso a fenómenos de distorsión, el mejor conjunto de escritura y lectura para especificar la codificación es UTF-8
> Writer
> -- BufferedWriter
> -- OutputStreamWriter Reader
> -- BufferedReader
> -- InputStreamReader
> -- PrintWriter/PrintStream
- Concepto de flujo
- Leer y escribir datos en datos abstractos de flujo en la tubería.
- Corriente puede fluir sólo en una dirección
- Se utiliza para leer en el flujo de entrada
- Escrito a cabo la secuencia de salida
- Los datos sólo se puede leer de principio a fin de la secuencia primaria
- secuencia de archivo Archivo
Descripción general:
- Una cadena de ruta que contiene el disco, una operación puede llevarse a cabo en este camino. Se puede utilizar para encapsular la ruta del archivo, la ruta de la carpeta, no existe la ruta de acceso.
Crear un objeto:
- Archivo (nombre de ruta de cuerda)
- Para crear una nueva instancia del archivo mediante la conversión de la cadena de ruta dada en una vía de acceso abstracta.
Los métodos más comunes:
- Archivo, carpeta atributos de longitud (): la cantidad de bytes del archivo
- existe (): si la hay, devuelve verdadero presencia
- isFile (): si el archivo, el archivo devuelve verdadero
- isDirectory (): si la carpeta es un archivo de carpetas devuelve true
- getName (): Obtener Nombre de archivo / carpeta
- getParent (): Obtiene la ruta de la carpeta principal
- Obtener la ruta completa del archivo: getAbsolutePath ()
Crear, borrar:
- createNewFile (): crear un nuevo archivo, carpeta no existe de forma anormal, el archivo ya existe, falsa
- mkdirs (): Nueva carpeta de múltiples capas no existe \ a \ b \ c
- mkdir (): Nueva sola capa no existe la carpeta \ a
- Eliminar (): Eliminar archivos, carpetas vacías de borrado
Lista de carpetas:
- list (): devuelve la cadena [], incluyendo el nombre del archivo
- listFiles (): devuelve el archivo [], contiene el objeto de archivo
Leer byte de la secuencia:
- Es un flujo de bytes de bytes, carácter por carácter en el flujo de
- Java en el carácter se compone de dos bytes. Flujo de bytes es el más básico, todas las subclases de InputStream y OutputStream se utilizan principalmente para trabajar con datos binarios.
Streaming se refiere principalmente a la totalidad de los medios tridimensionales de audio y archivos de vídeo y otros dispositivos multimedia analizados en un paquete comprimido específica después de la transmisión de compresión, en tiempo real desde el servidor de vídeo a un ordenador de usuario o de forma secuencial. En el sistema utilizando el modo de transmisión, el usuario no tiene que esperar a fin de descargar el archivo completo utilizando toda la descarga se ha completado, pero sólo después de unos segundos o decenas de segundos de retardo de comenzar a utilizar el dispositivo en una descompresión del ordenador del usuario un comprimido V /, 3D y otros archivos multimedia para la reproducción y visualización después de la descompresión. En este punto, la parte restante de los archivos multimedia continuará descarga en el servidor de fondo.
flujo de caracteres se lee:
- De uso general en los datos de texto sin formato.
- clase Reader Resumen
- clase abstracta para leer streams de caracteres.
常用方法:
-- int read() :读取单个字符。
-- int read(char[] cbuf) :将字符读入数组。
-- abstract int read(char[] cbuf, int off, int len) :将字符读入数组的某一部分。
-- int read(CharBuffer target) :试图将字符读入指定的字符缓冲区。
-- abstract void close() :关闭该流并释放与之关联的所有资源。
Leer el archivo
public class tt {
public static void main(String[] args) throws Exception {
method1();// 字节读取
method2();//字符读取
}
private static void method2() throws Exception {
//字符流读图片乱码
// BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(new File("D:\\teach\\1.jpg"))));
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(new File("D:\\teach\\a\\1.txt"))));
// System.out.println(in.readLine());
// System.out.println(in.readLine());//null读到/n/r
String line = "";
while((line = in.readLine())!=null) {//一行一行读
System.out.println(line);
}
in.close();
}
private static void method1() throws Exception {
long s = System.currentTimeMillis();
InputStream in = new FileInputStream("D:\\teach\\1.jpg");
int b = 0;
while ((b = in.read()) != -1) {
// System.out.println(b);
}
s = System.currentTimeMillis() - s;
System.out.println(s + "--");// 7515
long ss = System.currentTimeMillis();
InputStream in2 = new BufferedInputStream(new FileInputStream("D:\\teach\\1.jpg"));
int b2 = 0;
while ((b2 = in2.read()) != -1) {
// System.out.println(b2);
}
ss = System.currentTimeMillis() - ss;
System.out.println(ss + "==");// 32
in.close();
in2.close();
}
}