English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spiegazione dettagliata dei flussi di input/output di Java

Un flusso è una serie di dati.

Quando ci sono interazioni di dati tra diversi mezzi, JAVA utilizza i flussi per implementare. La fonte di dati può essere un file, un database, una rete o altri programmi.

Ad esempio, leggere i dati del file nel programma, dal punto di vista del programma, si chiama flusso di input.

Flusso di byte (lettura e scrittura di dati in forma di byte)

InputStream è un flusso di input in byte, anche un'astrazione, che fornisce solo dichiarazioni di metodo, ma non implementazioni di metodo specifiche.

FileInputStream è un sottoclasse di InputStream, ecco un esempio di lettura di file con FileInputStream

package testIO;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Date;
public class testFile {
	public static void main(String[] args) throws IOException {
		File f=new File("F:/test/lol.txt");
		//Crea un flusso di input basato sul file 
		FileInputStream fis=new FileInputStream(f);
		//Crea un array di byte, la cui lunghezza è la lunghezza del file 
		byte[] bs=new byte[(int) f.length()];
		System.out.println("Leggi tutto il contenuto del file in forma di flusso di byte: " + fis.read(bs));
		for (byte b:bs){
			System.out.println(b);
		}
		fis.close();
	}
}

OutputStream è un flusso di uscita in byte, anche un'astrazione, che fornisce solo dichiarazioni di metodo, ma non implementazioni di metodo specifiche

FileOutputStream è un sottoclasse di OutputStream, ecco un esempio di scrittura di dati con FileOutputStream

package testIO;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class writeIO {
	public static void main(String[] args) throws IOException {
		File f=new File("F:/test/lol.txt");
		FileOutputStream fos=new FileOutputStream(f);
		byte data[]={87,88};
		fos.write(data);
		fos.close();
	}
}

Nota: se il file lol non esiste, l'operazione di scrittura creerà automaticamente il file, se la directory test non esiste, verrà lancata un'eccezione.

Allora, come può il programma creare automaticamente la directory test se non esiste? E se il percorso è F:/test/yang/lol.txt e né test né yang esistono?

package testIO;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class writeIO {
	public static void main(String[] args) throws IOException {
		File f=new File("F:/test/yang/csdn/lol.txt");
		System.out.println(f.exists());
		File dir=f.getParentFile();
		//Ottenere la directory del file 
		if(!dir.exists()){
			dir.mkdirs();
			//Se la directory del file non esiste, creerà la directory non esistente
		}
		FileOutputStream fos=new FileOutputStream(f);
		byte data[]={87,88};
		fos.write(data);
		fos.close();
	}
}

Ottenere la directory del file nel programma, se la directory non esiste, verrà creata la directory

Sommario

Questo è tutto il contenuto dettagliato di questa guida su java IO stream, speriamo che sia utile a tutti. Gli amici interessati possono continuare a consultare altre sezioni correlate di questo sito, e sono lieti di ricevere commenti sugli aspetti insufficienti. Grazie per il supporto degli amici a questo sito!

Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright è di proprietà del rispettivo proprietario, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non possiede il diritto di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale correlata. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare e fornire prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare