Maison >Java >javaDidacticiel >Opérations de lecture et d'écriture de Java sur les fichiers (explication détaillée avec images et textes)

Opérations de lecture et d'écriture de Java sur les fichiers (explication détaillée avec images et textes)

烟雨青岚
烟雨青岚avant
2020-07-09 16:45:152900parcourir

Opérations de lecture et d'écriture de Java sur les fichiers (explication détaillée avec images et textes)

Nous rencontrons souvent des choses comme celle-ci. Par exemple, il y a des noms et des numéros de téléphone dans un fichier txt. À ce stade, nous devons souvent extraire les noms et les numéros de téléphone. temps, cela peut être réalisé en utilisant io en Java.

Ici, je ne présenterai pas en détail les similitudes et les différences entre le flux d'octets et le flux de caractères dans io. Les étudiants intéressés peuvent rechercher Baidu par eux-mêmes.

Aujourd'hui, je vais principalement vous présenter comment obtenir le contenu du fichier et modifier le contenu du fichier obtenu. Voir ci-dessous pour les introductions de cas spécifiques.

Opérations de lecture et décriture de Java sur les fichiers (explication détaillée avec images et textes)

C'est l'effet final à obtenir dans le boîtier, en ajoutant des symboles de division directement au nom et au numéro de téléphone.

La chose importante à noter ici est que dans ce cas, le document txt original n'est pas modifié directement, mais un nouveau fichier txt est créé et un nouveau contenu est écrit.

Bien, sans plus tarder, regardons comment cette affaire est mise en œuvre.

Ce dossier est divisé en trois modules : 1. Module de lecture de fichiers, 2. Module de séparation du nom et du numéro de téléphone, 3. Module d'écriture de fichiers

1. 🎜>

 /**
     * 功能:Java读取txt文件的内容
     * 步骤:1:先获得文件句柄
     * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
     * 3:读取到输入流后,需要读取生成字节流
     * 4:一行一行的输出。readline()。
     * 备注:需要考虑的是异常情况
     * @param filePath
     */
	public static String readTxtFile(String filePath) {
		StringBuilder content = new StringBuilder("");
		try {
			String encoding = "UTF-8";
			File file = new File(filePath);
			if (file.isFile() && file.exists()) {
				InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);
				BufferedReader bufferedReader = new BufferedReader(read);
				String lineTxt = null;
				while ((lineTxt = bufferedReader.readLine()) != null) {
					String[] result = getNamePhone(lineTxt);
					System.out.println(lineTxt);
					content.append(result[0] + "----" + result[1]);
					content.append("\r\n");// txt换行
				}
				read.close();
			} else {
				System.out.println("找不到指定的文件");
			}
		} catch (Exception e) {
			System.out.println("读取文件内容出错");
			e.printStackTrace();
		}
		return content.toString();
	}

2. Module de séparation du nom et du numéro de téléphone :

public static String[] getNamePhone(String str) {
		String[] result = new String[2];
		int index = 0;
		for (int i = 0; i < str.length(); i++) {
			if (str.charAt(i) >= &#39;0&#39; && str.charAt(i) <= &#39;9&#39;) {
				index = i;
				break;
			}
		}
		result[0] = str.substring(0, index);
		result[1] = str.substring(index);
		return result;
	}

3. Module d'écriture de fichiers :

public static void printFile(String content) {
		BufferedWriter bw = null;
		try {
			File file = new File("D:/filename.txt");
			if (!file.exists()) {
				file.createNewFile();
			}
			FileWriter fw = new FileWriter(file.getAbsoluteFile());
			bw = new BufferedWriter(fw);
			bw.write(content);
			bw.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

Grâce à ces trois modules, vous pouvez réaliser l'opération de lecture du fichier, puis traiter les informations, et enfin ajouter les informations traitées au nouveau fichier.

Ce qu'il faut noter ici est : le format d'encodage du projet doit être écrit en utf-8, sinon des caractères tronqués apparaîtront.

Opérations de lecture et décriture de Java sur les fichiers (explication détaillée avec images et textes)

Les opérations de lecture et d'écriture de fichiers sont terminées ici. N'est-ce pas très simple et pratique ?

Merci à tous d'avoir lu, j'espère que vous en bénéficierez beaucoup.

Cet article est reproduit à partir de : https://blog.csdn.net/linzhiqiang0316/article/details/71744340

Tutoriel recommandé : "

Tutoriel Java"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer