一些语言的按行读取文件的代码实现小结
Java实现
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class JavaFile { public static void main(String[] args) { try { // read file content from file StringBuffer sb= new StringBuffer(""); FileReader reader = new FileReader("c://test.txt"); BufferedReader br = new BufferedReader(reader); String str = null; while((str = br.readLine()) != null) { sb.append(str+"/n"); System.out.println(str); } br.close(); reader.close(); // write string to file FileWriter writer = new FileWriter("c://test2.txt"); BufferedWriter bw = new BufferedWriter(writer); bw.write(sb.toString()); bw.close(); writer.close(); } catch(FileNotFoundException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } }
C++实现
#include<string> #include<iostream> #include<stdlib.h> #include<fstream> int main() { std::string file_name="123"; std::ifstream fin(file_name.c_str()); std::string textline[3]; for(int i=0;i<3;++i) getline(fin,textline[i],'\n');//遇到换行结束这一行的读取 for(int i=0;i<3;++i) std::cout<<textline[i]<<'\n'; return 0; }
php实现
<?php /** * 按行读取文件 * @param string $filename */ function readFileByLine ($filename) { $fh = fopen($filename, 'r'); while (! feof($fh)) { $line = fgets($fh); echo $line; } fclose($fh); } // test $filename = "/home/wzy/test/sort.txt"; readFileByLine($filename);
c语言实现
#include <stdio.h> #include <stdlib.h> #include <string.h> #define LEN 1024 int main(void) { char filename[LEN], buf[LEN]; FILE *fp; int len; scanf("%s", filename); fp = fopen(filename, "r"); if (fp == NULL) exit(-1); while (fgets(buf, LEN, fp) != NULL) { len = strlen(buf); buf[len - 1] = '\0'; // 去掉换行符 printf("%s\n", buf); } return 0; }
赞 (0)