Heim >Java >javaLernprogramm >Javas Lese- und Schreibvorgänge für Dateien (ausführliche Erklärung mit Bildern und Texten)
Solche Dinge stoßen beispielsweise häufig auf Namen und Telefonnummern in einer TXT-Datei. Dabei ist es häufig erforderlich, die Namen und Telefonnummern zu extrahieren Zeit, Dies kann mit io in Java erreicht werden.
Hier werde ich die Ähnlichkeiten und Unterschiede zwischen Byte-Stream und Zeichen-Stream in io nicht im Detail vorstellen. Interessierte Schüler können Baidu selbst nutzen.
Heute werde ich hauptsächlich vorstellen, wie man den Dateiinhalt erhält und den erhaltenen Dateiinhalt ändert. Nachfolgend finden Sie spezifische Falleinführungen.
Dies ist der letzte Effekt, der in der Hülle erreicht werden soll, indem Trennzeichen direkt zum Namen und zur Telefonnummer hinzugefügt werden.
Wichtig ist hier zu beachten, dass in diesem Fall das ursprüngliche TXT-Dokument nicht direkt geändert wird, sondern eine neue TXT-Datei erstellt und neue Inhalte geschrieben werden.
Okay, schauen wir uns ohne weitere Umschweife an, wie dieser Fall umgesetzt wird.
Dieser Fall ist in drei Module unterteilt: 1. Dateilesemodul, 2. Namens- und Telefontrennungsmodul, 3. Dateischreibmodul
1. Dateilesemodul:
/** * 功能: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. Namens- und Telefonnummerntrennungsmodul:
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) >= '0' && str.charAt(i) <= '9') { index = i; break; } } result[0] = str.substring(0, index); result[1] = str.substring(index); return result; }
3. Dateischreibmodul:
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(); } }
Durch Mit diesen drei Modulen können Sie den Lesevorgang der Datei realisieren, dann die Informationen verarbeiten und schließlich die verarbeiteten Informationen der neuen Datei hinzufügen.
Hier ist zu beachten: Das Codierungsformat des Projekts muss als utf-8 geschrieben sein, sonst werden verstümmelte Zeichen angezeigt.
Ist das nicht sehr einfach und bequem?
Vielen Dank an alle fürs Lesen, ich hoffe, dass Sie viel davon profitieren werden.
Dieser Artikel ist reproduziert von: https://blog.csdn.net/linzhiqiang0316/article/details/71744340
Empfohlenes Tutorial: „Java-Tutorial“
Das obige ist der detaillierte Inhalt vonJavas Lese- und Schreibvorgänge für Dateien (ausführliche Erklärung mit Bildern und Texten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!